about summary refs log tree commit diff
path: root/nixpkgs
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2021-07-09 12:30:28 +0000
committerAlyssa Ross <hi@alyssa.is>2021-07-23 09:11:31 +0000
commit55cc63c079f49e81d695a25bc2f5b3902f2bd290 (patch)
treee705335d97f50b927c76ccb4a3fbde9fab8372b9 /nixpkgs
parentc26eb6f74d9393127a21eee7a9620a920769f613 (diff)
parent87807e64a5ef5206b745a40af118c7be8db73681 (diff)
downloadnixlib-55cc63c079f49e81d695a25bc2f5b3902f2bd290.tar
nixlib-55cc63c079f49e81d695a25bc2f5b3902f2bd290.tar.gz
nixlib-55cc63c079f49e81d695a25bc2f5b3902f2bd290.tar.bz2
nixlib-55cc63c079f49e81d695a25bc2f5b3902f2bd290.tar.lz
nixlib-55cc63c079f49e81d695a25bc2f5b3902f2bd290.tar.xz
nixlib-55cc63c079f49e81d695a25bc2f5b3902f2bd290.tar.zst
nixlib-55cc63c079f49e81d695a25bc2f5b3902f2bd290.zip
Merge commit '87807e64a5ef5206b745a40af118c7be8db73681'
Diffstat (limited to 'nixpkgs')
-rw-r--r--nixpkgs/.github/workflows/merge-staging.yml41
-rw-r--r--nixpkgs/.github/workflows/periodic-merge-24h.yml49
-rw-r--r--nixpkgs/.github/workflows/periodic-merge-6h.yml55
-rw-r--r--nixpkgs/doc/builders/packages/steam.section.md11
-rw-r--r--nixpkgs/doc/languages-frameworks/beam.section.md2
-rw-r--r--nixpkgs/doc/languages-frameworks/hy.section.md31
-rw-r--r--nixpkgs/doc/languages-frameworks/index.xml1
-rw-r--r--nixpkgs/doc/languages-frameworks/python.section.md6
-rw-r--r--nixpkgs/doc/stdenv/stdenv.chapter.md27
-rw-r--r--nixpkgs/lib/strings.nix4
-rw-r--r--nixpkgs/maintainers/maintainer-list.nix82
-rwxr-xr-xnixpkgs/maintainers/scripts/haskell/mark-broken.sh11
-rw-r--r--nixpkgs/nixos/doc/manual/administration/boot-problems.section.md6
-rw-r--r--nixpkgs/nixos/doc/manual/development/nixos-tests.xml6
-rw-r--r--nixpkgs/nixos/doc/manual/development/running-nixos-tests-interactively.section.md44
-rw-r--r--nixpkgs/nixos/doc/manual/development/running-nixos-tests-interactively.xml49
-rw-r--r--nixpkgs/nixos/doc/manual/development/running-nixos-tests.section.md31
-rw-r--r--nixpkgs/nixos/doc/manual/development/running-nixos-tests.xml36
-rw-r--r--nixpkgs/nixos/doc/manual/development/writing-nixos-tests.section.md301
-rw-r--r--nixpkgs/nixos/doc/manual/development/writing-nixos-tests.xml517
-rw-r--r--nixpkgs/nixos/doc/manual/from_md/administration/boot-problems.section.xml17
-rw-r--r--nixpkgs/nixos/doc/manual/from_md/development/running-nixos-tests-interactively.section.xml50
-rw-r--r--nixpkgs/nixos/doc/manual/from_md/development/running-nixos-tests.section.xml34
-rw-r--r--nixpkgs/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml526
-rw-r--r--nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2105.section.xml16
-rw-r--r--nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml139
-rw-r--r--nixpkgs/nixos/doc/manual/installation/installing.xml4
-rw-r--r--nixpkgs/nixos/doc/manual/preface.xml4
-rw-r--r--nixpkgs/nixos/doc/manual/release-notes/rl-2105.section.md4
-rw-r--r--nixpkgs/nixos/doc/manual/release-notes/rl-2111.section.md34
-rw-r--r--nixpkgs/nixos/modules/config/shells-environment.nix12
-rw-r--r--nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-base.nix11
-rw-r--r--nixpkgs/nixos/modules/installer/tools/tools.nix2
-rw-r--r--nixpkgs/nixos/modules/module-list.nix4
-rw-r--r--nixpkgs/nixos/modules/programs/flashrom.nix26
-rw-r--r--nixpkgs/nixos/modules/programs/hamster.nix2
-rw-r--r--nixpkgs/nixos/modules/programs/ssmtp.nix3
-rw-r--r--nixpkgs/nixos/modules/programs/zsh/zsh.nix2
-rw-r--r--nixpkgs/nixos/modules/security/acme.nix16
-rw-r--r--nixpkgs/nixos/modules/security/systemd-confinement.nix2
-rw-r--r--nixpkgs/nixos/modules/services/amqp/rabbitmq.nix2
-rw-r--r--nixpkgs/nixos/modules/services/audio/slimserver.nix1
-rw-r--r--nixpkgs/nixos/modules/services/backup/btrbk.nix220
-rw-r--r--nixpkgs/nixos/modules/services/backup/sanoid.nix88
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/pki.nix1
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/proxy.nix2
-rw-r--r--nixpkgs/nixos/modules/services/continuous-integration/jenkins/default.nix31
-rw-r--r--nixpkgs/nixos/modules/services/databases/mysql.nix2
-rw-r--r--nixpkgs/nixos/modules/services/desktops/pipewire/bluez-hardware.conf.json197
-rw-r--r--nixpkgs/nixos/modules/services/desktops/pipewire/jack.conf.json2
-rw-r--r--nixpkgs/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix6
-rw-r--r--nixpkgs/nixos/modules/services/editors/infinoted.nix2
-rw-r--r--nixpkgs/nixos/modules/services/misc/docker-registry.nix2
-rw-r--r--nixpkgs/nixos/modules/services/misc/geoipupdate.nix50
-rw-r--r--nixpkgs/nixos/modules/services/misc/gitea.nix2
-rw-r--r--nixpkgs/nixos/modules/services/misc/gitlab.nix108
-rw-r--r--nixpkgs/nixos/modules/services/misc/gpsd.nix2
-rw-r--r--nixpkgs/nixos/modules/services/misc/leaps.nix2
-rw-r--r--nixpkgs/nixos/modules/services/misc/mwlib.nix6
-rw-r--r--nixpkgs/nixos/modules/services/misc/octoprint.nix2
-rw-r--r--nixpkgs/nixos/modules/services/misc/paperless.nix2
-rw-r--r--nixpkgs/nixos/modules/services/misc/redmine.nix2
-rw-r--r--nixpkgs/nixos/modules/services/misc/subsonic.nix4
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/grafana.nix2
-rw-r--r--nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix8
-rw-r--r--nixpkgs/nixos/modules/services/networking/coturn.nix99
-rw-r--r--nixpkgs/nixos/modules/services/networking/murmur.nix2
-rw-r--r--nixpkgs/nixos/modules/services/networking/namecoind.nix2
-rw-r--r--nixpkgs/nixos/modules/services/networking/nar-serve.nix2
-rw-r--r--nixpkgs/nixos/modules/services/networking/nix-serve.nix2
-rw-r--r--nixpkgs/nixos/modules/services/networking/ssh/sshd.nix1
-rw-r--r--nixpkgs/nixos/modules/services/networking/tailscale.nix2
-rw-r--r--nixpkgs/nixos/modules/services/security/vaultwarden/backup.sh (renamed from nixpkgs/nixos/modules/services/security/bitwarden_rs/backup.sh)2
-rw-r--r--nixpkgs/nixos/modules/services/security/vaultwarden/default.nix (renamed from nixpkgs/nixos/modules/services/security/bitwarden_rs/default.nix)57
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/discourse.nix5
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/minio.nix25
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/ttyd.nix2
-rw-r--r--nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix3
-rw-r--r--nixpkgs/nixos/modules/services/x11/window-managers/fvwm.nix2
-rw-r--r--nixpkgs/nixos/modules/system/activation/top-level.nix2
-rw-r--r--nixpkgs/nixos/modules/system/boot/kernel.nix6
-rw-r--r--nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py2
-rw-r--r--nixpkgs/nixos/modules/system/boot/luksroot.nix2
-rw-r--r--nixpkgs/nixos/modules/tasks/filesystems/btrfs.nix11
-rw-r--r--nixpkgs/nixos/modules/virtualisation/oci-containers.nix3
-rw-r--r--nixpkgs/nixos/tests/acme.nix24
-rw-r--r--nixpkgs/nixos/tests/all-tests.nix4
-rw-r--r--nixpkgs/nixos/tests/btrbk.nix110
-rw-r--r--nixpkgs/nixos/tests/coturn.nix29
-rw-r--r--nixpkgs/nixos/tests/jenkins-cli.nix30
-rw-r--r--nixpkgs/nixos/tests/kubernetes/base.nix9
-rw-r--r--nixpkgs/nixos/tests/mysql/mysql.nix16
-rw-r--r--nixpkgs/nixos/tests/sanoid.nix2
-rw-r--r--nixpkgs/nixos/tests/trafficserver.nix1
-rw-r--r--nixpkgs/nixos/tests/vault.nix4
-rw-r--r--nixpkgs/nixos/tests/vaultwarden.nix (renamed from nixpkgs/nixos/tests/bitwarden.nix)20
-rw-r--r--nixpkgs/nixos/tests/yggdrasil.nix18
-rw-r--r--nixpkgs/nixos/tests/zsh-history.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/audacity/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/audio/freac/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/mixxx/default.nix132
-rw-r--r--nixpkgs/pkgs/applications/audio/mousai/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/audio/openmpt123/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/pianoteq/default.nix200
-rw-r--r--nixpkgs/pkgs/applications/audio/picard/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/plexamp/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/praat/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/audio/scream/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/audio/shortwave/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/audio/tonelib-jam/default.nix60
-rw-r--r--nixpkgs/pkgs/applications/audio/tonelib-zoom/default.nix48
-rw-r--r--nixpkgs/pkgs/applications/backup/restique/default.nix41
-rw-r--r--nixpkgs/pkgs/applications/blockchains/bisq-desktop/default.nix99
-rw-r--r--nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/blockchains/chia/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/blockchains/chia/dependencies.patch13
-rw-r--r--nixpkgs/pkgs/applications/blockchains/electrs.nix6
-rw-r--r--nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/blockchains/lightwalletd/default.nix37
-rw-r--r--nixpkgs/pkgs/applications/blockchains/nbxplorer/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/blockchains/nbxplorer/deps.nix16
-rw-r--r--nixpkgs/pkgs/applications/blockchains/polkadot/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/blockchains/trezor-suite/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix117
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/org-generated.nix12
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json3624
-rw-r--r--nixpkgs/pkgs/applications/editors/greenfoot/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/helix/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/editors/jetbrains/common.nix6
-rw-r--r--nixpkgs/pkgs/applications/editors/jetbrains/default.nix32
-rwxr-xr-xnixpkgs/pkgs/applications/editors/jetbrains/update.pl8
-rw-r--r--nixpkgs/pkgs/applications/editors/neovim/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/editors/quartus-prime/default.nix107
-rw-r--r--nixpkgs/pkgs/applications/editors/quartus-prime/quartus.nix97
-rw-r--r--nixpkgs/pkgs/applications/editors/spacevim/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/editors/vscode/generic.nix7
-rw-r--r--nixpkgs/pkgs/applications/editors/vscode/vscode.nix1
-rw-r--r--nixpkgs/pkgs/applications/gis/grass/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/gis/qgis/unwrapped.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/ImageMagick/6.x.nix5
-rw-r--r--nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix11
-rw-r--r--nixpkgs/pkgs/applications/graphics/avocode/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/darktable/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/drawio/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/rapid-photo-downloader/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/logging/humioctl/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/1password-gui/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/calibre/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/cherrytree/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/cura/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/curaengine/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/dbeaver/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/electron-cash/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/expenses/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/flavours/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/misc/free42/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/gcalcli/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/gpxsee/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/houdini/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/houdini/runtime.nix30
-rw-r--r--nixpkgs/pkgs/applications/misc/hugo/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/kanjidraw/default.nix47
-rw-r--r--nixpkgs/pkgs/applications/misc/khal/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/misc/khal/skip-broken-test.patch33
-rw-r--r--nixpkgs/pkgs/applications/misc/kile-wl/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/kiln/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/misc/kjv/default.nix44
-rw-r--r--nixpkgs/pkgs/applications/misc/logseq/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/lutris/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/misc/makeself/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/misc/masterpdfeditor/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/misc/metadata-cleaner/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/nwg-panel/default.nix57
-rw-r--r--nixpkgs/pkgs/applications/misc/octoprint/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/openring/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/otpclient/default.nix36
-rw-r--r--nixpkgs/pkgs/applications/misc/pdfarranger/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/pinfo/default.nix45
-rw-r--r--nixpkgs/pkgs/applications/misc/reddsaver/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/seatd/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/sfm/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/slides/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/subsurface/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/termdown/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/tut/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/usb-reset/default.nix41
-rw-r--r--nixpkgs/pkgs/applications/misc/visidata/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/xplr/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/yokadi/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/3proxy/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/brave/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/chromium/browser.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/chromium/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.json18
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox-bin/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix778
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/qutebrowser/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/vieb/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/vieb/package.json12
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/vieb/yarn.lock881
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/vieb/yarn.nix512
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/argo/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/fluxctl/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/fn-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/helm/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kops/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubeconform/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/linkerd/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/luigi/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/nerdctl/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/stern/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/tanka/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/tektoncd-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.json10
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/tfswitch/default.nix32
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/waypoint/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/dnscontrol/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/feedreaders/gnome-feeds/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/flexget/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/giara/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/ids/snort/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/ids/suricata/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/ids/zeek/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/dino/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/kdeltachat/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-mm-sms/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/psi-plus/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/salut-a-toi/requirements.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/teams/default.nix21
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/kirc/default.nix44
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/weechat/scripts/buffer_autoset/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/weechat/scripts/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/weechat/scripts/highmon/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/weechat/scripts/weechat-go/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/networking/juju/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/networking/maestral-qt/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/mumble/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/owncloud-client/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/networking/seafile-client/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/networking/seaweedfs/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/shellhub-agent/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/sync/acd_cli/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/syncthing-gtk/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/fava/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/notes-up/default.nix23
-rw-r--r--nixpkgs/pkgs/applications/office/paperless/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/office/paperwork/paperwork-gtk.nix2
-rw-r--r--nixpkgs/pkgs/applications/office/pyspread/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/office/softmaker/generic.nix2
-rw-r--r--nixpkgs/pkgs/applications/office/super-productivity/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/timedoctor/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/office/trilium/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/office/tryton/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/radio/gnuradio/3.8.nix5
-rw-r--r--nixpkgs/pkgs/applications/radio/gnuradio/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/radio/soapyairspy/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/radio/soapysdr/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/astronomy/phd2/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/science/chemistry/gwyddion/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/gtkwave/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/logic/coq/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/science/logic/elan/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/logic/hol/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/logic/lean/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/logic/tlaplus/toolbox.nix14
-rw-r--r--nixpkgs/pkgs/applications/science/math/caffe/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/math/glsurf/default.nix32
-rw-r--r--nixpkgs/pkgs/applications/science/math/qalculate-gtk/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/patches/sphinx-3.5-code-output.patch13
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/sage-src.nix63
-rw-r--r--nixpkgs/pkgs/applications/science/misc/root/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/science/networking/sumo/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/robotics/emuflight-configurator/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/system/glances/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/system/qjournalctl/default.nix44
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/foot/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/kitty/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/bit/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/delta/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/gh/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-repo/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitea/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/data.json10
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/gitaly/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile4
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock8
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix24
-rw-r--r--nixpkgs/pkgs/applications/version-management/mercurial/4.9.nix18
-rw-r--r--nixpkgs/pkgs/applications/version-management/mercurial/default.nix233
-rw-r--r--nixpkgs/pkgs/applications/version-management/pijul/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/tortoisehg/default.nix33
-rw-r--r--nixpkgs/pkgs/applications/video/makemkv/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/plugins/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/plugins/looking-glass-obs.nix29
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-move-transition-use-FindLibobs.cmake.patch (renamed from nixpkgs/pkgs/applications/video/obs-studio/0001-Use-FindLibobs.cmake.patch)1
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix2
-rw-r--r--nixpkgs/pkgs/applications/video/pyca/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/subtitleeditor/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/video/vlc/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/charliecloud/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/cri-o/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/lima/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/window-managers/bspwm/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/dwm/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/qtile/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/river/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sway/idle.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sway/lock.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/tinywl/default.nix28
-rw-r--r--nixpkgs/pkgs/build-support/docker/default.nix3
-rw-r--r--nixpkgs/pkgs/build-support/trivial-builders.nix4
-rw-r--r--nixpkgs/pkgs/build-support/trivial-builders/test-overriding.nix119
-rw-r--r--nixpkgs/pkgs/data/fonts/charis-sil/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/gentium/default.nix18
-rw-r--r--nixpkgs/pkgs/data/fonts/sarasa-gothic/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/sudo/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/terminus-font-ttf/default.nix4
-rw-r--r--nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix4
-rw-r--r--nixpkgs/pkgs/data/misc/fedora-backgrounds/generic.nix2
-rw-r--r--nixpkgs/pkgs/data/misc/hackage/pin.json8
-rw-r--r--nixpkgs/pkgs/data/misc/rime-data/default.nix66
-rw-r--r--nixpkgs/pkgs/data/misc/rime-data/fetchSchema.nix137
-rwxr-xr-xnixpkgs/pkgs/data/misc/rime-data/generateFetchSchema.sh43
-rw-r--r--nixpkgs/pkgs/data/misc/shared-mime-info/default.nix4
-rw-r--r--nixpkgs/pkgs/data/misc/spdx-license-list-data/default.nix8
-rw-r--r--nixpkgs/pkgs/data/themes/canta/default.nix4
-rw-r--r--nixpkgs/pkgs/data/themes/flat-remix-gnome/default.nix38
-rw-r--r--nixpkgs/pkgs/data/themes/materia-kde/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/bulky/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/gnome-shell/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/xfce4-panel-profiles/default.nix29
-rw-r--r--nixpkgs/pkgs/desktops/xfce/default.nix2
-rw-r--r--nixpkgs/pkgs/development/arduino/arduino-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/development/beam-modules/default.nix1
-rw-r--r--nixpkgs/pkgs/development/beam-modules/erlfmt/default.nix20
-rw-r--r--nixpkgs/pkgs/development/beam-modules/rebar3-nix/default.nix4
-rw-r--r--nixpkgs/pkgs/development/beam-modules/rebar3-release.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/sources.json352
-rw-r--r--nixpkgs/pkgs/development/compilers/chicken/5/chicken.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/gleam/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/jrsonnet/default.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/jsonnet/default.nix14
-rw-r--r--nixpkgs/pkgs/development/compilers/koka/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/12/clang/default.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/rocm/clang.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/rocm/lld/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/rocm/llvm/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/odin/default.nix57
-rw-r--r--nixpkgs/pkgs/development/compilers/openjdk/11.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/rust/1_53.nix (renamed from nixpkgs/pkgs/development/compilers/rust/1_52.nix)30
-rw-r--r--nixpkgs/pkgs/development/compilers/rust/rustc.nix3
-rw-r--r--nixpkgs/pkgs/development/compilers/vala/default.nix12
-rw-r--r--nixpkgs/pkgs/development/coq-modules/itauto/default.nix24
-rw-r--r--nixpkgs/pkgs/development/coq-modules/semantics/default.nix46
-rw-r--r--nixpkgs/pkgs/development/go-modules/generic/default.nix4
-rw-r--r--nixpkgs/pkgs/development/go-packages/generic/default.nix2
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-common.nix12
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-darwin.nix1
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml8
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml2
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml1124
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/generic-builder.nix6
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix880
-rw-r--r--nixpkgs/pkgs/development/interpreters/alda/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/dhall/build-dhall-github-package.nix9
-rw-r--r--nixpkgs/pkgs/development/interpreters/dhall/build-dhall-package.nix14
-rw-r--r--nixpkgs/pkgs/development/interpreters/erlang/R24.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/hy/builder.nix40
-rw-r--r--nixpkgs/pkgs/development/interpreters/hy/default.nix50
-rw-r--r--nixpkgs/pkgs/development/interpreters/janet/default.nix15
-rw-r--r--nixpkgs/pkgs/development/interpreters/lua-5/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/lua-5/interpreter.nix10
-rw-r--r--nixpkgs/pkgs/development/interpreters/nix-exec/default.nix24
-rw-r--r--nixpkgs/pkgs/development/interpreters/php/7.4.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/php/8.0.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/php/generic.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/tcl/tcl-package-hook.sh6
-rw-r--r--nixpkgs/pkgs/development/libraries/SDL/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/amdvlk/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/armadillo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/aws-c-cal/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/babl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/boca/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/cairo/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/duckdb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/eclib/default.nix20
-rw-r--r--nixpkgs/pkgs/development/libraries/egl-wayland/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/enchant/2.x.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/fcft/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/fmt/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/fontconfig/default.nix58
-rw-r--r--nixpkgs/pkgs/development/libraries/fontconfig/macos-atomics.h39
-rw-r--r--nixpkgs/pkgs/development/libraries/freenect/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gdbm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gegl/4.0.nix121
-rw-r--r--nixpkgs/pkgs/development/libraries/gegl/default.nix112
-rw-r--r--nixpkgs/pkgs/development/libraries/glib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gtkmm/3.x.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gtkmm/4.x.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/intel-gmmlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/intel-media-driver/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libaec/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libbaseencode/default.nix22
-rw-r--r--nixpkgs/pkgs/development/libraries/libconfig/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libcotp/default.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/libcyaml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libdvdnav/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libint/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libliftoff/default.nix34
-rw-r--r--nixpkgs/pkgs/development/libraries/libmbim/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libnbd/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libqalculate/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libqmi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libsoup/default.nix31
-rw-r--r--nixpkgs/pkgs/development/libraries/libstatgrab/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/libvmaf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libvpx/1_8.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/libvpx/default.nix22
-rw-r--r--nixpkgs/pkgs/development/libraries/libxlsxwriter/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/mesa/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/mimalloc/default.nix38
-rw-r--r--nixpkgs/pkgs/development/libraries/opencolorio/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/openmpi/default.nix30
-rw-r--r--nixpkgs/pkgs/development/libraries/pango/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/pipewire/0055-pipewire-media-session-path.patch7
-rw-r--r--nixpkgs/pkgs/development/libraries/pipewire/0090-pipewire-config-template-paths.patch8
-rw-r--r--nixpkgs/pkgs/development/libraries/pipewire/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/protobuf/3.17.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/rocclr/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/rocm-comgr/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/rocm-device-libs/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/rocm-opencl-icd/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/rocm-opencl-runtime/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/rocm-runtime/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/rocm-thunk/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/blas/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/liblapack/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/p4est-sc/default.nix71
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/p4est/default.nix58
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/p4est/p4est-metis.patch26
-rw-r--r--nixpkgs/pkgs/development/libraries/silgraphite/graphite2.nix26
-rw-r--r--nixpkgs/pkgs/development/libraries/smooth/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/virglrenderer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/volk/default.nix15
-rw-r--r--nixpkgs/pkgs/development/libraries/wlroots/default.nix2
-rw-r--r--nixpkgs/pkgs/development/mobile/checkra1n/default.nix26
-rw-r--r--nixpkgs/pkgs/development/node-packages/node-packages.json3
-rw-r--r--nixpkgs/pkgs/development/node-packages/node-packages.nix3288
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/alcotest/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/alcotest/lwt.nix7
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/alcotest/mirage.nix16
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/camlimages/4.1.2.nix37
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/camlimages/4.2.4.nix75
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/camlpdf/default.nix14
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/cpdf/default.nix17
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/lwt-canceler/default.nix27
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ppxlib/default.nix6
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/routes/default.nix21
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/stringext/default.nix30
-rw-r--r--nixpkgs/pkgs/development/perl-modules/strip-nondeterminism/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/Nikola/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/adafruit-platformdetect/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/adafruit-pureio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/adal/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ailment/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiocoap/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiolifx-effects/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiomusiccast/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiopg/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiopylgtv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiosignal/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiounittest/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/alembic/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/angr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/angrop/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aniso8601/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/anyio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/apispec/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/aqualogic/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/archinfo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/asdf/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/ase/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/asteval/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/async-dns/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/asyncssh/default.nix63
-rw-r--r--nixpkgs/pkgs/development/python-modules/asyncstdlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-core/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-keyvault-administration/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-keyvault-certificates/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-keyvault-keys/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-keyvault-secrets/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-core/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-netapp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-rdbms/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-sql/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-storage/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bashlex/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/beancount/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bitarray/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bitcoin-price-api/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bleak/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/botocore/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bravado-core/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bson/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/bt-proximity/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/bugsnag/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bugwarrior/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/buildbot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bytecode/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/cattrs/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/celery/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/censys/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/certbot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/certifi/python2.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/claripy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/clize/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/clldutils/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cloudsmith-api/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/clvm-rs/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/clvm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/coloredlogs/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/confuse/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/crc32c/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/croniter/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/csvw/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/curio/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/cvxpy/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/daphne/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dask/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/datadog/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/datasets/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/datashape/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dateparser/0.x.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dateparser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/datrie/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/dbutils/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/debian-inspector/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/deezer-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dependency-injector/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/devolo-home-control-api/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dftfit/default.nix52
-rw-r--r--nixpkgs/pkgs/development/python-modules/dicom2nifti/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/diff-cover/default.nix57
-rw-r--r--nixpkgs/pkgs/development/python-modules/diff_cover/default.nix46
-rw-r--r--nixpkgs/pkgs/development/python-modules/diofant/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/discogs-client/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/discogs_client/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/distributed/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-haystack/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django/3.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django_silk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/drms/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/duckdb/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/dugong/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/ecos/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/editdistance-s/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/editorconfig/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/emailthreads/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/emcee/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/emoji/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/enaml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/enturclient/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/env-canada/default.nix55
-rw-r--r--nixpkgs/pkgs/development/python-modules/ephem/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/extractcode/7z.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/extractcode/libarchive.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fabulous/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fake_factory/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/faker/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fastimport/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/feedgen/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fitbit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-compress/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-jwt-extended/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-restx/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/foolscap/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/freezegun/0.3.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/freezegun/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gdrivefs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/georss-ign-sismologia-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ghp-import/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gibberish-detector/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/github3_py/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-apputils/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/graphene/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/graphviz/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/gssapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/guessit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/guppy3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hass-nabucasa/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hijri-converter/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hikvision/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/holidays/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hstspreload/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/httmock/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/hypchat/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/ibm-watson/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/icalendar/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/identify/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/influxdb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipfshttpclient/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipyparallel/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/itunespy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/javaproperties/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter_client/5.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter_client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/koji/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/lammps-cython/default.nix53
-rw-r--r--nixpkgs/pkgs/development/python-modules/libarcus/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/libsavitar/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/libusb1/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/liquidctl/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/lmnotify/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/maestral/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mailman-rss/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/malduck/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/matplotlib/2.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/matplotlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/matrix-nio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mcstatus/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/md-toc/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/mdformat/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/micloud/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/millheater/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/msal-extensions/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/netmap/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/netmap/nmap-path.patch17
-rw-r--r--nixpkgs/pkgs/development/python-modules/nipype/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nmigen/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/oci/default.nix4
-rwxr-xr-xnixpkgs/pkgs/development/python-modules/osmnx/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/owslib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pandas/2.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pandas/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pefile/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/pelican/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pendulum/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pep8-naming/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/pg8000/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pillow-simd/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/portalocker/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/prov/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pubnub/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pwntools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyahocorasick/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyatmo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyatv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycollada/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydaikin/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydes/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyeight/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyflick/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyfreedompro/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyfritzhome/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pykeepass/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pykwalify/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyls-black/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyls-isort/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyls-mypy/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyls-spyder/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymetar/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pync/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pynest2d/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pypoint/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyrfxtrx/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyrituals/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysaml2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysyncobj/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytenable/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-cases/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-rerunfailures/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-gitlab/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-http-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-ipmi/default.nix41
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-jose/default.nix46
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-language-server/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-lsp-jsonrpc/default.nix41
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-lsp-server/default.nix81
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-pidfile/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-pkcs11/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-songpal/default.nix68
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-telegram-bot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python3-saml/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytibber/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytile/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytomlpp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytube/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyvex/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/qcelemental/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/rainbowstream/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rasterio/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/regenmaschine/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/requests-pkcs12/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sacn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/scp/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/selenium/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/simber/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sipsimple/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/skidl/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/smart-meter-texas/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/smarthab/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/somfy-mylink-synergy/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/sonarr/default.nix41
-rw-r--r--nixpkgs/pkgs/development/python-modules/splinter/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlalchemy-utils/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlmap/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/starlette/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/staticjinja/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sunpy/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/suseapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/taskw/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tern/0001-Replace-debut-with-debian-inspector.patch40
-rw-r--r--nixpkgs/pkgs/development/python-modules/tern/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/textfsm/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/token-bucket/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/transitions/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/trytond/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tvnamer/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/twitterapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-decorator/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-requests/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/uranium/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/urllib3/2.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/urllib3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/vertica-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/vobject/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/webdavclient3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/weboob/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/woob/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/xknx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/youtube-search/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/ytmusicapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zha-quirks/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zwave-js-server-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/r-modules/default.nix1
-rw-r--r--nixpkgs/pkgs/development/ruby-modules/bundler/default.nix4
-rw-r--r--nixpkgs/pkgs/development/scheme-modules/scheme-bytestructures/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/codeql/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/cppcheck/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/rr/unstable.nix17
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/smatch/default.nix25
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/tflint/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/tfsec/default.nix12
-rw-r--r--nixpkgs/pkgs/development/tools/apksigcopier/default.nix61
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bmake/default.nix24
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bmake/unconditional-ksh-test.patch12
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/boot/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/conan/default.nix21
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/mill/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/redo-c/Makefile2
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/redo-c/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/rocm-cmake/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/buildah/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/cloud-nuke/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix20
-rw-r--r--nixpkgs/pkgs/development/tools/database/sqlfluff/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/database/sqlitebrowser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/detect-secrets/default.nix39
-rw-r--r--nixpkgs/pkgs/development/tools/dprint/default.nix30
-rw-r--r--nixpkgs/pkgs/development/tools/eclipse-mat/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/ecpdap/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/elkhound/default.nix50
-rw-r--r--nixpkgs/pkgs/development/tools/esbuild/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/fission/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/flawfinder/default.nix20
-rw-r--r--nixpkgs/pkgs/development/tools/go-task/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/gops/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/jbang/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/just/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/kustomize/3.nix40
-rw-r--r--nixpkgs/pkgs/development/tools/kustomize/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/kustomize/kustomize-sops.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/literate-programming/funnelweb/default.nix5
-rw-r--r--nixpkgs/pkgs/development/tools/literate-programming/noweb/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/mbed-cli/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/binutils/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/ccls/wrapper2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/editorconfig-core-c/default.nix7
-rw-r--r--nixpkgs/pkgs/development/tools/misc/global/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/rolespec/default.nix7
-rw-r--r--nixpkgs/pkgs/development/tools/misc/terraform-ls/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/dune/2.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/open-policy-agent/default.nix7
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-haskell.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ruby.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json8
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-svelte.json8
-rw-r--r--nixpkgs/pkgs/development/tools/pgtop/default.nix30
-rw-r--r--nixpkgs/pkgs/development/tools/protoc-gen-go/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/pscale/default.nix23
-rw-r--r--nixpkgs/pkgs/development/tools/remarshal/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-bloat/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/crate2nix/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/rust-analyzer/default.nix11
-rw-r--r--nixpkgs/pkgs/development/tools/rust/rust-analyzer/no-rust-1-53-features.patch673
-rw-r--r--nixpkgs/pkgs/development/tools/skopeo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/tapview/default.nix32
-rw-r--r--nixpkgs/pkgs/development/tools/tapview/dont_check_echo.patch44
-rw-r--r--nixpkgs/pkgs/development/tools/unity3d/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/vala-language-server/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/wp-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/development/web/cypress/default.nix4
-rw-r--r--nixpkgs/pkgs/development/web/deno/default.nix6
-rw-r--r--nixpkgs/pkgs/development/web/flyctl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/web/insomnia/default.nix4
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/v12.nix4
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/v14.nix4
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/v15.nix13
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/v16.nix4
-rw-r--r--nixpkgs/pkgs/games/cataclysm-dda/common.nix23
-rw-r--r--nixpkgs/pkgs/games/cataclysm-dda/git.nix6
-rw-r--r--nixpkgs/pkgs/games/cataclysm-dda/stable.nix4
-rw-r--r--nixpkgs/pkgs/games/cbonsai/default.nix4
-rw-r--r--nixpkgs/pkgs/games/dwarf-fortress/default.nix92
-rw-r--r--nixpkgs/pkgs/games/dwarf-fortress/dfhack/default.nix32
-rw-r--r--nixpkgs/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix20
-rw-r--r--nixpkgs/pkgs/games/dwarf-fortress/dwarf-therapist/dwarf-therapist.in11
-rw-r--r--nixpkgs/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix31
-rw-r--r--nixpkgs/pkgs/games/dwarf-fortress/game.nix41
-rw-r--r--nixpkgs/pkgs/games/dwarf-fortress/lazy-pack.nix30
-rw-r--r--nixpkgs/pkgs/games/dwarf-fortress/soundsense.nix7
-rw-r--r--nixpkgs/pkgs/games/dwarf-fortress/themes/default.nix32
-rw-r--r--nixpkgs/pkgs/games/dwarf-fortress/twbt/default.nix12
-rw-r--r--nixpkgs/pkgs/games/dwarf-fortress/unfuck.nix42
-rw-r--r--nixpkgs/pkgs/games/dwarf-fortress/wrapper/default.nix42
-rw-r--r--nixpkgs/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress-init.in17
-rw-r--r--nixpkgs/pkgs/games/extremetuxracer/default.nix4
-rw-r--r--nixpkgs/pkgs/games/fheroes2/default.nix4
-rw-r--r--nixpkgs/pkgs/games/flare/default.nix2
-rw-r--r--nixpkgs/pkgs/games/flare/engine.nix4
-rw-r--r--nixpkgs/pkgs/games/flare/game.nix4
-rw-r--r--nixpkgs/pkgs/games/freeciv/default.nix4
-rw-r--r--nixpkgs/pkgs/games/gemrb/default.nix16
-rw-r--r--nixpkgs/pkgs/games/katago/default.nix6
-rw-r--r--nixpkgs/pkgs/games/openttd/grfcodec.nix28
-rw-r--r--nixpkgs/pkgs/games/openttd/nml.nix22
-rw-r--r--nixpkgs/pkgs/games/osu-lazer/default.nix4
-rw-r--r--nixpkgs/pkgs/games/osu-lazer/deps.nix401
-rw-r--r--nixpkgs/pkgs/games/quakespasm/default.nix11
-rw-r--r--nixpkgs/pkgs/games/scid-vs-pc/default.nix1
-rw-r--r--nixpkgs/pkgs/games/scid/default.nix1
-rw-r--r--nixpkgs/pkgs/games/stockfish/default.nix27
-rw-r--r--nixpkgs/pkgs/games/the-powder-toy/default.nix3
-rw-r--r--nixpkgs/pkgs/games/warzone2100/default.nix17
-rw-r--r--nixpkgs/pkgs/games/xonotic/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/cnijfilter_4_00/default.nix1
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-4.00-7-sysctl.patch10
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/mfcl2700dncupswrapper/default.nix6
-rw-r--r--nixpkgs/pkgs/misc/emulators/gxemul/0001-fix-attributes.patch26
-rw-r--r--nixpkgs/pkgs/misc/emulators/gxemul/default.nix42
-rw-r--r--nixpkgs/pkgs/misc/lightspark/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/pylode/default.nix2
-rw-r--r--nixpkgs/pkgs/misc/scrcpy/default.nix6
-rw-r--r--nixpkgs/pkgs/misc/seafile-shared/default.nix6
-rw-r--r--nixpkgs/pkgs/misc/tmux-plugins/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/vim-plugins/aliases.nix1
-rw-r--r--nixpkgs/pkgs/misc/vim-plugins/generated.nix589
-rw-r--r--nixpkgs/pkgs/misc/vim-plugins/overrides.nix2
-rw-r--r--nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names5
-rw-r--r--nixpkgs/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/vscode-extensions/rust-analyzer/build-deps/package.json2
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/apple-sdk-11.0/private-frameworks.nix3
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/apple-sdk/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-utils/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/bpftools/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/bpftrace/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/busybox/sandbox-shell.nix1
-rw-r--r--nixpkgs/pkgs/os-specific/linux/evdi/default.nix23
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firejail/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/firmware/rtw89-firmware/default.nix25
-rw-r--r--nixpkgs/pkgs/os-specific/linux/irqbalance/default.nix13
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix1
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json30
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-4.4.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-5.10.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-5.12.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-5.4.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-lqx.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.11.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-xanmod.nix9
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-zen.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/patches.nix9
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/perf.nix12
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kvmfr/default.nix32
-rw-r--r--nixpkgs/pkgs/os-specific/linux/rtw89/default.nix40
-rw-r--r--nixpkgs/pkgs/os-specific/linux/tuigreet/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/tuxedo-keyboard/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/zfs/default.nix10
-rw-r--r--nixpkgs/pkgs/servers/atlassian/confluence.nix4
-rw-r--r--nixpkgs/pkgs/servers/computing/slurm/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/coturn/default.nix3
-rw-r--r--nixpkgs/pkgs/servers/dns/pdns-recursor/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/component-packages.nix18
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/http/gitlab-pages/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/http/pomerium/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/http/trafficserver/default.nix11
-rw-r--r--nixpkgs/pkgs/servers/imgproxy/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/ldap/389/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/mail/mailman/hyperkitty.nix4
-rw-r--r--nixpkgs/pkgs/servers/matrix-synapse/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/misc/gobgpd/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/monitoring/grafana/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/monitoring/grafana/plugins/doitintl-bigquery-datasource/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/monitoring/grafana/plugins/grafana-polystat-panel/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/bird-exporter.nix6
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix15
-rw-r--r--nixpkgs/pkgs/servers/oauth2-proxy/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/pinnwand/default.nix3
-rw-r--r--nixpkgs/pkgs/servers/pufferpanel/default.nix59
-rw-r--r--nixpkgs/pkgs/servers/roon-server/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/search/groonga/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/sip/freeswitch/default.nix20
-rw-r--r--nixpkgs/pkgs/servers/sql/cockroachdb/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/sql/mariadb/default.nix10
-rw-r--r--nixpkgs/pkgs/servers/sql/materialize/default.nix12
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/ext/postgis.nix4
-rw-r--r--nixpkgs/pkgs/servers/tailscale/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/teleport/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/default.nix64
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugin_gem_api_version.patch13
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix12
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix11
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile3
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock37
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix12
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix126
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix11
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix11
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix11
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix11
-rw-r--r--nixpkgs/pkgs/servers/web-apps/discourse/use_mv_instead_of_rename.patch22
-rw-r--r--nixpkgs/pkgs/servers/web-apps/searx/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/x11/xorg/xwayland.nix16
-rw-r--r--nixpkgs/pkgs/servers/xmpp/ejabberd/default.nix22
-rw-r--r--nixpkgs/pkgs/shells/fish/default.nix4
-rw-r--r--nixpkgs/pkgs/shells/fish/plugins/pure.nix14
-rw-r--r--nixpkgs/pkgs/shells/oil/default.nix10
-rw-r--r--nixpkgs/pkgs/stdenv/generic/make-derivation.nix4
-rw-r--r--nixpkgs/pkgs/stdenv/generic/setup.sh6
-rw-r--r--nixpkgs/pkgs/test/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/go-sct/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/admin/awscli2/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/admin/awslogs/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/admin/azure-cli/python-packages.nix8
-rw-r--r--nixpkgs/pkgs/tools/admin/clair/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/eksctl/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/google-cloud-sdk/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/admin/oci-cli/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/admin/pulumi/data.nix50
-rwxr-xr-xnixpkgs/pkgs/tools/admin/pulumi/update.sh12
-rw-r--r--nixpkgs/pkgs/tools/admin/sec/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/audio/abcmidi/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/backup/btrbk/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/backup/discordchatexporter-cli/default.nix87
-rw-r--r--nixpkgs/pkgs/tools/backup/discordchatexporter-cli/deps.nix67
-rwxr-xr-xnixpkgs/pkgs/tools/backup/discordchatexporter-cli/updater.sh44
-rw-r--r--nixpkgs/pkgs/tools/backup/partclone/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/backup/rotate-backups/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/backup/tarsnapper/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/bluetooth/blueberry/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/isomd5sum/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/ceph/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/filesystems/exfatprogs/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/filesystems/glusterfs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/games/weidu/default.nix65
-rw-r--r--nixpkgs/pkgs/tools/graphics/adriconf/default.nix41
-rw-r--r--nixpkgs/pkgs/tools/graphics/gifsicle/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/graphviz/base.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/graphviz/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/graphics/ploticus/builder.sh33
-rw-r--r--nixpkgs/pkgs/tools/graphics/ploticus/default.nix68
-rw-r--r--nixpkgs/pkgs/tools/graphics/ploticus/set-prefabs-dir.patch11
-rw-r--r--nixpkgs/pkgs/tools/graphics/ploticus/use-gd-package.patch34
-rw-r--r--nixpkgs/pkgs/tools/graphics/xcolor/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/graphics/yaxg/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix71
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-rime/default.nix38
-rw-r--r--nixpkgs/pkgs/tools/misc/apt-offline/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/misc/barman/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/beats/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/broot/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/chezmoi/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/complete-alias/default.nix43
-rw-r--r--nixpkgs/pkgs/tools/misc/cpufetch/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/desktop-file-utils/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/misc/expect/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/misc/flashrom/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/fluent-bit/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/misc/goaccess/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/goreleaser/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/infracost/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/kepubify/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/misc/latex2html/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/lnav/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/macchina/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/mslink/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/misc/ncdu/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/onefetch/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/misc/pdd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/pgcenter/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/piston-cli/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/pubs/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/qmk/default.nix49
-rw-r--r--nixpkgs/pkgs/tools/misc/rauc/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/misc/tmuxp/default.nix32
-rw-r--r--nixpkgs/pkgs/tools/misc/topgrade/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/trash-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/tvnamer/default.nix47
-rw-r--r--nixpkgs/pkgs/tools/misc/uutils-coreutils/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/misc/yajsv/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/misc/yank/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/ytmdl/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/misc/zellij/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/networking/amass/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/arping/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/bore/default.nix47
-rw-r--r--nixpkgs/pkgs/tools/networking/boundary/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/cloud-custodian/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/dnsproxy/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/getmail6/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/gobgp/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/kea/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/modem-manager/default.nix44
-rw-r--r--nixpkgs/pkgs/tools/networking/s3cmd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/stevenblack-blocklist/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/stunnel/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/tcpdump/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/yggdrasil/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-audit/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-outdated/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-release/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/package-management/fpm/Gemfile.lock32
-rw-r--r--nixpkgs/pkgs/tools/package-management/fpm/gemset.nix71
-rw-r--r--nixpkgs/pkgs/tools/package-management/nix-doc/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/package-management/nixops/azure-storage/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/age/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/bitwarden/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/cfssl/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/chkrootkit/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/dnsx/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/exploitdb/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/flare-floss/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/security/gopass/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/gpg-tui/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/security/grype/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/keybase/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/knockpy/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/security/libtpms/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/lynis/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock23
-rw-r--r--nixpkgs/pkgs/tools/security/metasploit/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/metasploit/gemset.nix34
-rw-r--r--nixpkgs/pkgs/tools/security/rbw/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/saml2aws/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/sipvicious/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/sn0int/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/sslscan/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/stegseek/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/terrascan/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/security/tor/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/traitor/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/vault/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/security/vault/vault-bin.nix9
-rw-r--r--nixpkgs/pkgs/tools/security/vaultwarden/default.nix (renamed from nixpkgs/pkgs/tools/security/bitwarden_rs/default.nix)15
-rw-r--r--nixpkgs/pkgs/tools/security/vaultwarden/vault.nix (renamed from nixpkgs/pkgs/tools/security/bitwarden_rs/vault.nix)10
-rw-r--r--nixpkgs/pkgs/tools/system/fancy-motd/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/system/hwinfo/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/natscli/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/system/netdata/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/system/netdata/ipc-socket-in-run.patch13
-rw-r--r--nixpkgs/pkgs/tools/system/rocm-smi/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/stress-ng/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/tm/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/text/chroma/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/text/hottext/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/text/languagetool/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/mdbook/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/text/mdcat/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/text/num-utils/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/text/sd/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/typesetting/asciidoctor/Gemfile.lock55
-rw-r--r--nixpkgs/pkgs/tools/typesetting/asciidoctor/gemset.nix76
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix38
-rw-r--r--nixpkgs/pkgs/tools/video/bento4/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/video/svt-av1/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/virtualization/cloud-init/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/wayland/wayland-proxy-virtwl/default.nix37
-rw-r--r--nixpkgs/pkgs/top-level/aliases.nix8
-rw-r--r--nixpkgs/pkgs/top-level/all-packages.nix203
-rw-r--r--nixpkgs/pkgs/top-level/coq-packages.nix2
-rw-r--r--nixpkgs/pkgs/top-level/ocaml-packages.nix14
-rw-r--r--nixpkgs/pkgs/top-level/php-packages.nix147
-rw-r--r--nixpkgs/pkgs/top-level/python-aliases.nix8
-rw-r--r--nixpkgs/pkgs/top-level/python-packages.nix62
-rw-r--r--nixpkgs/pkgs/top-level/python2-packages.nix2
1128 files changed, 19126 insertions, 11473 deletions
diff --git a/nixpkgs/.github/workflows/merge-staging.yml b/nixpkgs/.github/workflows/merge-staging.yml
deleted file mode 100644
index e499630a083b..000000000000
--- a/nixpkgs/.github/workflows/merge-staging.yml
+++ /dev/null
@@ -1,41 +0,0 @@
-name: "merge staging(-next)"
-
-on:
-  schedule:
-    # * is a special character in YAML so you have to quote this string
-    # Merge every 6 hours
-    - cron:  '0 */6 * * *'
-
-jobs:
-  sync-branch:
-    if: github.repository_owner == 'NixOS'
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/checkout@v2
-
-      - name: Merge master into staging-next
-        id: staging_next
-        uses: devmasx/merge-branch@v1.3.1
-        with:
-          type: now
-          from_branch: master
-          target_branch: staging-next
-          github_token: ${{ secrets.GITHUB_TOKEN }}
-
-      - name: Merge staging-next into staging
-        id: staging
-        uses: devmasx/merge-branch@v1.3.1
-        with:
-          type: now
-          from_branch: staging-next
-          target_branch: staging
-          github_token: ${{ secrets.GITHUB_TOKEN }}
-
-      - name: Comment on failure
-        uses: peter-evans/create-or-update-comment@v1
-        if: ${{ failure() }}
-        with:
-          issue-number: 105153
-          body: |
-            An automatic merge${{ (steps.staging_next.outcome == 'failure' && ' from master to staging-next') || ((steps.staging.outcome == 'failure' && ' from staging-next to staging') || '') }} [failed](https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }}).
-
diff --git a/nixpkgs/.github/workflows/periodic-merge-24h.yml b/nixpkgs/.github/workflows/periodic-merge-24h.yml
new file mode 100644
index 000000000000..341656d93925
--- /dev/null
+++ b/nixpkgs/.github/workflows/periodic-merge-24h.yml
@@ -0,0 +1,49 @@
+# This action periodically merges base branches into staging branches.
+# This is done to
+#  * prevent conflicts or rather resolve them early
+#  * make all potential breakage happen on the staging branch
+#  * and make sure that all major rebuilds happen before the staging
+#    branch get’s merged back into its base branch.
+
+name: "Periodic Merges (24h)"
+
+
+on:
+  schedule:
+    # * is a special character in YAML so you have to quote this string
+    # Merge every 24 hours
+    - cron:  '0 0 * * *'
+
+jobs:
+  periodic-merge:
+    if: github.repository_owner == 'NixOS'
+    runs-on: ubuntu-latest
+    strategy:
+      # don't fail fast, so that all pairs are tried
+      fail-fast: false
+      # certain branches need to be merged in order, like master->staging-next->staging
+      # and disabling parallelism ensures the order of the pairs below.
+      max-parallel: 1
+      matrix:
+        pairs:
+          - from: master
+            into: haskell-updates
+    name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
+    steps:
+      - uses: actions/checkout@v2
+
+      - name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
+        uses: devmasx/merge-branch@v1.3.1
+        with:
+          type: now
+          from_branch: ${{ matrix.pairs.from }}
+          target_branch: ${{ matrix.pairs.into }}
+          github_token: ${{ secrets.GITHUB_TOKEN }}
+
+      - name: Comment on failure
+        uses: peter-evans/create-or-update-comment@v1
+        if: ${{ failure() }}
+        with:
+          issue-number: 105153
+          body: |
+            Periodic merge from `${{ matrix.pairs.from }}` into `${{ matrix.pairs.into }}` has [failed](https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }}).
diff --git a/nixpkgs/.github/workflows/periodic-merge-6h.yml b/nixpkgs/.github/workflows/periodic-merge-6h.yml
new file mode 100644
index 000000000000..8ec4da1d8773
--- /dev/null
+++ b/nixpkgs/.github/workflows/periodic-merge-6h.yml
@@ -0,0 +1,55 @@
+# This action periodically merges base branches into staging branches.
+# This is done to
+#  * prevent conflicts or rather resolve them early
+#  * make all potential breakage happen on the staging branch
+#  * and make sure that all major rebuilds happen before the staging
+#    branch get’s merged back into its base branch.
+
+name: "Periodic Merges (6h)"
+
+
+on:
+  schedule:
+    # * is a special character in YAML so you have to quote this string
+    # Merge every 6 hours
+    - cron:  '0 */6 * * *'
+
+jobs:
+  periodic-merge:
+    if: github.repository_owner == 'NixOS'
+    runs-on: ubuntu-latest
+    strategy:
+      # don't fail fast, so that all pairs are tried
+      fail-fast: false
+      # certain branches need to be merged in order, like master->staging-next->staging
+      # and disabling parallelism ensures the order of the pairs below.
+      max-parallel: 1
+      matrix:
+        pairs:
+          - from: master
+            into: staging-next
+          - from: staging-next
+            into: staging
+          - from: release-21.05
+            into: staging-next-21.05
+          - from: staging-next-21.05
+            into: staging-21.05
+    name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
+    steps:
+      - uses: actions/checkout@v2
+
+      - name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
+        uses: devmasx/merge-branch@v1.3.1
+        with:
+          type: now
+          from_branch: ${{ matrix.pairs.from }}
+          target_branch: ${{ matrix.pairs.into }}
+          github_token: ${{ secrets.GITHUB_TOKEN }}
+
+      - name: Comment on failure
+        uses: peter-evans/create-or-update-comment@v1
+        if: ${{ failure() }}
+        with:
+          issue-number: 105153
+          body: |
+            Periodic merge from `${{ matrix.pairs.from }}` into `${{ matrix.pairs.into }}` has [failed](https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }}).
diff --git a/nixpkgs/doc/builders/packages/steam.section.md b/nixpkgs/doc/builders/packages/steam.section.md
index d7bb6e69d7d9..0cfc1a2c2458 100644
--- a/nixpkgs/doc/builders/packages/steam.section.md
+++ b/nixpkgs/doc/builders/packages/steam.section.md
@@ -56,16 +56,7 @@ Use `programs.steam.enable = true;` if you want to add steam to systemPackages a
 
 ## steam-run {#sec-steam-run}
 
-The FHS-compatible chroot used for steam can also be used to run other linux games that expect a FHS environment. To do it, add
-
-```nix
-pkgs.steam.override ({
-  nativeOnly = true;
-  newStdcpp = true;
-}).run
-```
-
-to your configuration, rebuild, and run the game with
+The FHS-compatible chroot used for Steam can also be used to run other Linux games that expect a FHS environment. To use it, install the `steam-run-native` package and run the game with
 
 ```
 steam-run ./foo
diff --git a/nixpkgs/doc/languages-frameworks/beam.section.md b/nixpkgs/doc/languages-frameworks/beam.section.md
index 348f66d42791..934e6cdca121 100644
--- a/nixpkgs/doc/languages-frameworks/beam.section.md
+++ b/nixpkgs/doc/languages-frameworks/beam.section.md
@@ -241,7 +241,7 @@ let
     git
     # replace with beam.packages.erlang.elixir_1_11 if you need
     beam.packages.erlang.elixir
-    nodejs-15_x
+    nodejs
     postgresql_13
     # only used for frontend dependencies
     # you are free to use yarn2nix as well
diff --git a/nixpkgs/doc/languages-frameworks/hy.section.md b/nixpkgs/doc/languages-frameworks/hy.section.md
new file mode 100644
index 000000000000..a851ff24dfc2
--- /dev/null
+++ b/nixpkgs/doc/languages-frameworks/hy.section.md
@@ -0,0 +1,31 @@
+# Hy {#sec-language-hy}
+
+## Installation {#ssec-hy-installation}
+
+### Installation without packages {#installation-without-packages}
+
+You can install `hy` via nix-env or by adding it to `configuration.nix` by reffering to it as a `hy` attribute. This kind of installation adds `hy` to your environment and it succesfully works with `python3`.
+
+::: {.caution}
+Packages that are installed with your python derivation, are not accesible by `hy` this way.
+:::
+
+### Installation with packages {#installation-with-packages}
+
+Creating `hy` derivation with custom `python` packages is really simple and similar to the way that python does it. Attribute `hy` provides function `withPackages` that creates custom `hy` derivation with specified packages.
+
+For example if you want to create shell with `matplotlib` and `numpy`, you can do it like so:
+
+```ShellSession
+$ nix-shell -p "hy.withPackages (ps: with ps; [ numpy matplotlib ])"
+```
+
+Or if you want to extend your `configuration.nix`:
+```nix
+{ # ...
+
+  environment.systemPackages = with pkgs; [
+    (hy.withPackages (py-packages: with py-packages; [ numpy matplotlib ]))
+  ];
+}
+```
diff --git a/nixpkgs/doc/languages-frameworks/index.xml b/nixpkgs/doc/languages-frameworks/index.xml
index 791afce6f5c6..516bddf67fd4 100644
--- a/nixpkgs/doc/languages-frameworks/index.xml
+++ b/nixpkgs/doc/languages-frameworks/index.xml
@@ -16,6 +16,7 @@
  <xi:include href="gnome.section.xml" />
  <xi:include href="go.section.xml" />
  <xi:include href="haskell.section.xml" />
+ <xi:include href="hy.section.xml" />
  <xi:include href="idris.section.xml" />
  <xi:include href="ios.section.xml" />
  <xi:include href="java.section.xml" />
diff --git a/nixpkgs/doc/languages-frameworks/python.section.md b/nixpkgs/doc/languages-frameworks/python.section.md
index 54face47d1ed..847a41cf23c3 100644
--- a/nixpkgs/doc/languages-frameworks/python.section.md
+++ b/nixpkgs/doc/languages-frameworks/python.section.md
@@ -439,7 +439,7 @@ The following example shows which arguments are given to `buildPythonPackage` in
 order to build [`datashape`](https://github.com/blaze/datashape).
 
 ```nix
-{ lib, buildPythonPackage, fetchPypi, numpy, multipledispatch, dateutil, pytest }:
+{ lib, buildPythonPackage, fetchPypi, numpy, multipledispatch, python-dateutil, pytest }:
 
 buildPythonPackage rec {
   pname = "datashape";
@@ -451,7 +451,7 @@ buildPythonPackage rec {
   };
 
   checkInputs = [ pytest ];
-  propagatedBuildInputs = [ numpy multipledispatch dateutil ];
+  propagatedBuildInputs = [ numpy multipledispatch python-dateutil ];
 
   meta = with lib; {
     homepage = "https://github.com/ContinuumIO/datashape";
@@ -463,7 +463,7 @@ buildPythonPackage rec {
 ```
 
 We can see several runtime dependencies, `numpy`, `multipledispatch`, and
-`dateutil`. Furthermore, we have one `checkInputs`, i.e. `pytest`. `pytest` is a
+`python-dateutil`. Furthermore, we have one `checkInputs`, i.e. `pytest`. `pytest` is a
 test runner and is only used during the `checkPhase` and is therefore not added
 to `propagatedBuildInputs`.
 
diff --git a/nixpkgs/doc/stdenv/stdenv.chapter.md b/nixpkgs/doc/stdenv/stdenv.chapter.md
index 7219b5e80f7e..e3e7b4c850be 100644
--- a/nixpkgs/doc/stdenv/stdenv.chapter.md
+++ b/nixpkgs/doc/stdenv/stdenv.chapter.md
@@ -1125,9 +1125,13 @@ There are flags available to harden packages at compile or link-time. These can
 
 Both parameters take a list of flags as strings. The special `"all"` flag can be passed to `hardeningDisable` to turn off all hardening. These flags can also be used as environment variables for testing or development purposes.
 
+For more in-depth information on these hardening flags and hardening in general, refer to the [Debian Wiki](https://wiki.debian.org/Hardening), [Ubuntu Wiki](https://wiki.ubuntu.com/Security/Features), [Gentoo Wiki](https://wiki.gentoo.org/wiki/Project:Hardened), and the [Arch Wiki](https://wiki.archlinux.org/title/Security).
+
+### Hardening flags enabled by default {#sec-hardening-flags-enabled-by-default}
+
 The following flags are enabled by default and might require disabling with `hardeningDisable` if the program to package is incompatible.
 
-### `format` {#format}
+#### `format` {#format}
 
 Adds the `-Wformat -Wformat-security -Werror=format-security` compiler options. At present, this warns about calls to `printf` and `scanf` functions where the format string is not a string literal and there are no format arguments, as in `printf(foo);`. This may be a security hole if the format string came from untrusted input and contains `%n`.
 
@@ -1140,7 +1144,7 @@ This needs to be turned off or fixed for errors similar to:
 cc1plus: some warnings being treated as errors
 ```
 
-### `stackprotector` {#stackprotector}
+#### `stackprotector` {#stackprotector}
 
 Adds the `-fstack-protector-strong --param ssp-buffer-size=4` compiler options. This adds safety checks against stack overwrites rendering many potential code injection attacks into aborting situations. In the best case this turns code injection vulnerabilities into denial of service or into non-issues (depending on the application).
 
@@ -1151,7 +1155,7 @@ bin/blib.a(bios_console.o): In function `bios_handle_cup':
 /tmp/nix-build-ipxe-20141124-5cbdc41.drv-0/ipxe-5cbdc41/src/arch/i386/firmware/pcbios/bios_console.c:86: undefined reference to `__stack_chk_fail'
 ```
 
-### `fortify` {#fortify}
+#### `fortify` {#fortify}
 
 Adds the `-O2 -D_FORTIFY_SOURCE=2` compiler options. During code generation the compiler knows a great deal of information about buffer sizes (where possible), and attempts to replace insecure unlimited length buffer function calls with length-limited ones. This is especially useful for old, crufty code. Additionally, format strings in writable memory that contain `%n` are blocked. If an application depends on such a format string, it will need to be worked around.
 
@@ -1172,7 +1176,7 @@ installwatch.c:3751:5: error: conflicting types for '__open_2'
 fcntl2.h:50:4: error: call to '__open_missing_mode' declared with attribute error: open with O_CREAT or O_TMPFILE in second argument needs 3 arguments
 ```
 
-### `pic` {#pic}
+#### `pic` {#pic}
 
 Adds the `-fPIC` compiler options. This options adds support for position independent code in shared libraries and thus making ASLR possible.
 
@@ -1185,19 +1189,19 @@ ccbLfRgg.s: Assembler messages:
 ccbLfRgg.s:33: Error: missing or invalid displacement expression `private_key_len@GOTOFF'
 ```
 
-### `strictoverflow` {#strictoverflow}
+#### `strictoverflow` {#strictoverflow}
 
 Signed integer overflow is undefined behaviour according to the C standard. If it happens, it is an error in the program as it should check for overflow before it can happen, not afterwards. GCC provides built-in functions to perform arithmetic with overflow checking, which are correct and faster than any custom implementation. As a workaround, the option `-fno-strict-overflow` makes gcc behave as if signed integer overflows were defined.
 
 This flag should not trigger any build or runtime errors.
 
-### `relro` {#relro}
+#### `relro` {#relro}
 
 Adds the `-z relro` linker option. During program load, several ELF memory sections need to be written to by the linker, but can be turned read-only before turning over control to the program. This prevents some GOT (and .dtors) overwrite attacks, but at least the part of the GOT used by the dynamic linker (.got.plt) is still vulnerable.
 
 This flag can break dynamic shared object loading. For instance, the module systems of Xorg and OpenCV are incompatible with this flag. In almost all cases the `bindnow` flag must also be disabled and incompatible programs typically fail with similar errors at runtime.
 
-### `bindnow` {#bindnow}
+#### `bindnow` {#bindnow}
 
 Adds the `-z bindnow` linker option. During program load, all dynamic symbols are resolved, allowing for the complete GOT to be marked read-only (due to `relro`). This prevents GOT overwrite attacks. For very large applications, this can incur some performance loss during initial load while symbols are resolved, but this shouldn’t be an issue for daemons.
 
@@ -1207,13 +1211,18 @@ This flag can break dynamic shared object loading. For instance, the module syst
 intel_drv.so: undefined symbol: vgaHWFreeHWRec
 ```
 
+### Hardening flags disabled by default {#sec-hardening-flags-disabled-by-default}
+
 The following flags are disabled by default and should be enabled with `hardeningEnable` for packages that take untrusted input like network services.
 
-### `pie` {#pie}
+#### `pie` {#pie}
+
+This flag is disabled by default for normal `glibc` based NixOS package builds, but enabled by default for `musl` based package builds.
 
 Adds the `-fPIE` compiler and `-pie` linker options. Position Independent Executables are needed to take advantage of Address Space Layout Randomization, supported by modern kernel versions. While ASLR can already be enforced for data areas in the stack and heap (brk and mmap), the code areas must be compiled as position-independent. Shared libraries already do this with the `pic` flag, so they gain ASLR automatically, but binary .text regions need to be build with `pie` to gain ASLR. When this happens, ROP attacks are much harder since there are no static locations to bounce off of during a memory corruption attack.
 
-For more in-depth information on these hardening flags and hardening in general, refer to the [Debian Wiki](https://wiki.debian.org/Hardening), [Ubuntu Wiki](https://wiki.ubuntu.com/Security/Features), [Gentoo Wiki](https://wiki.gentoo.org/wiki/Project:Hardened), and the [Arch Wiki](https://wiki.archlinux.org/index.php/DeveloperWiki:Security).
+Static libraries need to be compiled with `-fPIE` so that executables can link them in with the `-pie` linker option.
+If the libraries lack `-fPIE`, you will get the error `recompile with -fPIE`.
 
 [^footnote-stdenv-ignored-build-platform]: The build platform is ignored because it is a mere implementation detail of the package satisfying the dependency: As a general programming principle, dependencies are always *specified* as interfaces, not concrete implementation.
 [^footnote-stdenv-native-dependencies-in-path]: Currently, this means for native builds all dependencies are put on the `PATH`. But in the future that may not be the case for sake of matching cross: the platforms would be assumed to be unique for native and cross builds alike, so only the `depsBuild*` and `nativeBuildInputs` would be added to the `PATH`.
diff --git a/nixpkgs/lib/strings.nix b/nixpkgs/lib/strings.nix
index 49fa0196a0b2..86c92bdaa15b 100644
--- a/nixpkgs/lib/strings.nix
+++ b/nixpkgs/lib/strings.nix
@@ -95,7 +95,7 @@ rec {
      result with the specified separator interspersed between
      elements.
 
-     Type: concatMapStringsSep :: string -> (string -> string) -> [string] -> string
+     Type: concatMapStringsSep :: string -> (a -> string) -> [a] -> string
 
      Example:
         concatMapStringsSep "-" (x: toUpper x)  ["foo" "bar" "baz"]
@@ -112,7 +112,7 @@ rec {
   /* Same as `concatMapStringsSep`, but the mapping function
      additionally receives the position of its argument.
 
-     Type: concatIMapStringsSep :: string -> (int -> string -> string) -> [string] -> string
+     Type: concatIMapStringsSep :: string -> (int -> a -> string) -> [a] -> string
 
      Example:
        concatImapStringsSep "-" (pos: x: toString (x / pos)) [ 6 6 6 ]
diff --git a/nixpkgs/maintainers/maintainer-list.nix b/nixpkgs/maintainers/maintainer-list.nix
index 7a5c9fcbd7f1..162f9d1b4c91 100644
--- a/nixpkgs/maintainers/maintainer-list.nix
+++ b/nixpkgs/maintainers/maintainer-list.nix
@@ -1701,6 +1701,18 @@
     githubId = 3471749;
     name = "Claudio Bley";
   };
+  cburstedde = {
+    email = "burstedde@ins.uni-bonn.de";
+    github = "cburstedde";
+    githubId = 109908;
+    name = "Carsten Burstedde";
+    keys = [
+      {
+        longkeyid = "rsa2048/0x0704CD9E550A6BCD";
+        fingerprint = "1127 A432 6524 BF02 737B  544E 0704 CD9E 550A 6BCD";
+      }
+    ];
+  };
   cdepillabout = {
     email = "cdep.illabout@gmail.com";
     github = "cdepillabout";
@@ -1719,6 +1731,12 @@
     githubId = 977929;
     name = "Cody Allen";
   };
+  centromere = {
+    email = "nix@centromere.net";
+    github = "centromere";
+    githubId = 543423;
+    name = "Alex Wied";
+  };
   cfouche = {
     email = "chaddai.fouche@gmail.com";
     github = "Chaddai";
@@ -1903,6 +1921,16 @@
     githubId = 3956062;
     name = "Simon Lackerbauer";
   };
+  citadelcore = {
+    email = "alex@arctarus.co.uk";
+    github = "citadelcore";
+    githubId = 5567402;
+    name = "Alex Zero";
+    keys = [{
+      longkeyid = "rsa4096/0xA51550EDB450302C";
+      fingerprint = "A0AA 4646 B8F6 9D45 4553  5A88 A515 50ED B450 302C";
+    }];
+  };
   cizra = {
     email = "todurov+nix@gmail.com";
     github = "cizra";
@@ -2562,7 +2590,7 @@
     name = "Diego Lelis";
   };
   diffumist = {
-    email = "diffumist@gmail.com";
+    email = "git@diffumist.me";
     github = "diffumist";
     githubId = 32810399;
     name = "Diffumist";
@@ -4049,6 +4077,12 @@
     github = "gytis-ivaskevicius";
     githubId = 23264966;
   };
+  hagl = {
+    email = "harald@glie.be";
+    github = "hagl";
+    githubId = 1162118;
+    name = "Harald Gliebe";
+  };
   hakuch = {
     email = "hakuch@gmail.com";
     github = "hakuch";
@@ -4609,6 +4643,12 @@
     githubId = 6874204;
     name = "Jason Carr";
   };
+  j-brn = {
+    email = "me@bricker.io";
+    github = "j-brn";
+    githubId = 40566146;
+    name = "Jonas Braun";
+  };
   j-keck = {
     email = "jhyphenkeck@gmail.com";
     github = "j-keck";
@@ -5410,6 +5450,16 @@
     githubId = 788813;
     name = "Bryan Gardiner";
   };
+  khushraj = {
+    email = "khushraj.rathod@gmail.com";
+    github = "KhushrajRathod";
+    githubId = 44947946;
+    name = "Khushraj Rathod";
+    keys = [{
+      longkeyid = "rsa2048/0xB77B2A40E7702F19";
+      fingerprint = "1988 3FD8 EA2E B4EC 0A93  1E22 B77B 2A40 E770 2F19";
+    }];
+  };
   KibaFox = {
     email = "kiba.fox@foxypossibilities.com";
     github = "KibaFox";
@@ -7228,10 +7278,10 @@
     name = "Marko Poikonen";
   };
   mtreca = {
-    email = "maxime@treca.dev";
-    name = "Maxime Tréca";
+    email = "maxime.treca@gmail.com";
     github = "mtreca";
     githubId = 16440823;
+    name = "Maxime Tréca";
   };
   mtreskin = {
     email = "zerthurd@gmail.com";
@@ -8180,6 +8230,12 @@
     githubId = 1179566;
     name = "Nicolas B. Pierron";
   };
+  pimeys = {
+    email = "julius@nauk.io";
+    github = "pimeys";
+    githubId = 34967;
+    name = "Julius de Bruijn";
+  };
   pingiun = {
     email = "nixos@pingiun.com";
     github = "pingiun";
@@ -8452,7 +8508,7 @@
     email = "sibi@psibi.in";
     github = "psibi";
     githubId = 737477;
-    name = "Sibi";
+    name = "Sibi Prabakaran";
   };
   pstn = {
     email = "philipp@xndr.de";
@@ -10626,6 +10682,12 @@
     github = "totoroot";
     githubId = 39650930;
   };
+  ToxicFrog = {
+    email = "toxicfrog@ancilla.ca";
+    github = "ToxicFrog";
+    githubId = 90456;
+    name = "Rebecca (Bex) Kelly";
+  };
   travisbhartwell = {
     email = "nafai@travishartwell.net";
     github = "travisbhartwell";
@@ -10776,6 +10838,12 @@
     githubId = 347983;
     name = "Udo Spallek";
   };
+  ulrikstrid = {
+    email = "ulrik.strid@outlook.com";
+    github = "ulrikstrid";
+    githubId = 1607770;
+    name = "Ulrik Strid";
+  };
   unode = {
     email = "alves.rjc@gmail.com";
     github = "unode";
@@ -10872,6 +10940,12 @@
     githubId = 608417;
     name = "Jos van den Oever";
   };
+  vanilla = {
+    email = "neko@hydev.org";
+    github = "VergeDX";
+    githubId = 25173827;
+    name = "Vanilla";
+  };
   vanschelven = {
     email = "klaas@vanschelven.com";
     github = "vanschelven";
diff --git a/nixpkgs/maintainers/scripts/haskell/mark-broken.sh b/nixpkgs/maintainers/scripts/haskell/mark-broken.sh
index 58433abe662b..71568ef6f200 100755
--- a/nixpkgs/maintainers/scripts/haskell/mark-broken.sh
+++ b/nixpkgs/maintainers/scripts/haskell/mark-broken.sh
@@ -17,9 +17,9 @@ trap "rm ${tmpfile}" 0
 
 echo "Remember that you need to manually run 'maintainers/scripts/haskell/hydra-report.hs get-report' sometime before running this script."
 echo "Generating a list of broken builds and displaying for manual confirmation ..."
-maintainers/scripts/haskell/hydra-report.hs mark-broken-list | sort -i > $tmpfile
+maintainers/scripts/haskell/hydra-report.hs mark-broken-list | sort -i > "$tmpfile"
 
-$EDITOR $tmpfile
+$EDITOR "$tmpfile"
 
 tail -n +3 "$broken_config" >> "$tmpfile"
 
@@ -28,10 +28,11 @@ broken-packages:
   # These packages don't compile.
 EOF
 
+# clear environment here to avoid things like allowing broken builds in
 sort -iu "$tmpfile" >> "$broken_config"
-maintainers/scripts/haskell/regenerate-hackage-packages.sh
-maintainers/scripts/haskell/regenerate-transitive-broken-packages.sh
-maintainers/scripts/haskell/regenerate-hackage-packages.sh
+env -i maintainers/scripts/haskell/regenerate-hackage-packages.sh
+env -i maintainers/scripts/haskell/regenerate-transitive-broken-packages.sh
+env -i maintainers/scripts/haskell/regenerate-hackage-packages.sh
 
 if [[ "${1:-}" == "--do-commit" ]]; then
 git add $broken_config
diff --git a/nixpkgs/nixos/doc/manual/administration/boot-problems.section.md b/nixpkgs/nixos/doc/manual/administration/boot-problems.section.md
index eb9209602a32..dee83e7ec225 100644
--- a/nixpkgs/nixos/doc/manual/administration/boot-problems.section.md
+++ b/nixpkgs/nixos/doc/manual/administration/boot-problems.section.md
@@ -30,6 +30,12 @@ If NixOS fails to boot, there are a number of kernel command line parameters tha
 
 : Make systemd very verbose and send log messages to the console instead of the journal. For more parameters recognised by systemd, see systemd(1).
 
+In addition, these arguments are recognised by the live image only:
+
+`live.nixos.passwd=password`
+
+: Set the password for the `nixos` live user. This can be used for SSH access if there are issues using the terminal.
+
 Notice that for `boot.shell_on_fail`, `boot.debug1`, `boot.debug1devices`, and `boot.debug1mounts`, if you did **not** select "start the new shell as pid 1", and you `exit` from the new shell, boot will proceed normally from the point where it failed, as if you'd chosen "ignore the error and continue".
 
 If no login prompts or X11 login screens appear (e.g. due to hanging dependencies), you can press Alt+ArrowUp. If you’re lucky, this will start rescue mode (described above). (Also note that since most units have a 90-second timeout before systemd gives up on them, the `agetty` login prompts should appear eventually unless something is very wrong.)
diff --git a/nixpkgs/nixos/doc/manual/development/nixos-tests.xml b/nixpkgs/nixos/doc/manual/development/nixos-tests.xml
index 2695082e3867..702fc03f6686 100644
--- a/nixpkgs/nixos/doc/manual/development/nixos-tests.xml
+++ b/nixpkgs/nixos/doc/manual/development/nixos-tests.xml
@@ -13,7 +13,7 @@ xlink:href="https://github.com/NixOS/nixpkgs/tree/master/nixos/tests">nixos/test
   one or more virtual machines containing the NixOS system(s) required for the
   test.
  </para>
- <xi:include href="writing-nixos-tests.xml" />
- <xi:include href="running-nixos-tests.xml" />
- <xi:include href="running-nixos-tests-interactively.xml" />
+ <xi:include href="../from_md/development/writing-nixos-tests.section.xml" />
+ <xi:include href="../from_md/development/running-nixos-tests.section.xml" />
+ <xi:include href="../from_md/development/running-nixos-tests-interactively.section.xml" />
 </chapter>
diff --git a/nixpkgs/nixos/doc/manual/development/running-nixos-tests-interactively.section.md b/nixpkgs/nixos/doc/manual/development/running-nixos-tests-interactively.section.md
new file mode 100644
index 000000000000..3ba4e16e77f4
--- /dev/null
+++ b/nixpkgs/nixos/doc/manual/development/running-nixos-tests-interactively.section.md
@@ -0,0 +1,44 @@
+# Running Tests interactively {#sec-running-nixos-tests-interactively}
+
+The test itself can be run interactively. This is particularly useful
+when developing or debugging a test:
+
+```ShellSession
+$ nix-build nixos/tests/login.nix -A driverInteractive
+$ ./result/bin/nixos-test-driver
+starting VDE switch for network 1
+>
+```
+
+You can then take any Python statement, e.g.
+
+```py
+> start_all()
+> test_script()
+> machine.succeed("touch /tmp/foo")
+> print(machine.succeed("pwd")) # Show stdout of command
+```
+
+The function `test_script` executes the entire test script and drops you
+back into the test driver command line upon its completion. This allows
+you to inspect the state of the VMs after the test (e.g. to debug the
+test script).
+
+To just start and experiment with the VMs, run:
+
+```ShellSession
+$ nix-build nixos/tests/login.nix -A driverInteractive
+$ ./result/bin/nixos-run-vms
+```
+
+The script `nixos-run-vms` starts the virtual machines defined by test.
+
+You can re-use the VM states coming from a previous run by setting the
+`--keep-vm-state` flag.
+
+```ShellSession
+$ ./result/bin/nixos-run-vms --keep-vm-state
+```
+
+The machine state is stored in the `$TMPDIR/vm-state-machinename`
+directory.
diff --git a/nixpkgs/nixos/doc/manual/development/running-nixos-tests-interactively.xml b/nixpkgs/nixos/doc/manual/development/running-nixos-tests-interactively.xml
deleted file mode 100644
index a6044d5f89e8..000000000000
--- a/nixpkgs/nixos/doc/manual/development/running-nixos-tests-interactively.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<section xmlns="http://docbook.org/ns/docbook"
-        xmlns:xlink="http://www.w3.org/1999/xlink"
-        xmlns:xi="http://www.w3.org/2001/XInclude"
-        version="5.0"
-        xml:id="sec-running-nixos-tests-interactively">
- <title>Running Tests interactively</title>
-
- <para>
-  The test itself can be run interactively. This is particularly useful when
-  developing or debugging a test:
-<screen>
-<prompt>$ </prompt>nix-build nixos/tests/login.nix -A driverInteractive
-<prompt>$ </prompt>./result/bin/nixos-test-driver
-starting VDE switch for network 1
-<prompt>&gt;</prompt>
-</screen>
-  You can then take any Python statement, e.g.
-<screen>
-<prompt>&gt;</prompt> start_all()
-<prompt>&gt;</prompt> test_script()
-<prompt>&gt;</prompt> machine.succeed("touch /tmp/foo")
-<prompt>&gt;</prompt> print(machine.succeed("pwd")) # Show stdout of command
-</screen>
-  The function <command>test_script</command> executes the entire test script
-  and drops you back into the test driver command line upon its completion.
-  This allows you to inspect the state of the VMs after the test (e.g. to debug
-  the test script).
- </para>
-
- <para>
-  To just start and experiment with the VMs, run:
-<screen>
-<prompt>$ </prompt>nix-build nixos/tests/login.nix -A driverInteractive
-<prompt>$ </prompt>./result/bin/nixos-run-vms
-</screen>
-  The script <command>nixos-run-vms</command> starts the virtual machines
-  defined by test.
- </para>
-
- <para>
-   You can re-use the VM states coming from a previous run
-   by setting the <command>--keep-vm-state</command> flag.
-<screen>
-<prompt>$ </prompt>./result/bin/nixos-run-vms --keep-vm-state
-</screen>
-  The machine state is stored in the
-  <filename>$TMPDIR/vm-state-</filename><varname>machinename</varname> directory.
- </para>
-</section>
diff --git a/nixpkgs/nixos/doc/manual/development/running-nixos-tests.section.md b/nixpkgs/nixos/doc/manual/development/running-nixos-tests.section.md
new file mode 100644
index 000000000000..d6a456f01883
--- /dev/null
+++ b/nixpkgs/nixos/doc/manual/development/running-nixos-tests.section.md
@@ -0,0 +1,31 @@
+# Running Tests {#sec-running-nixos-tests}
+
+You can run tests using `nix-build`. For example, to run the test
+[`login.nix`](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/login.nix),
+you just do:
+
+```ShellSession
+$ nix-build '<nixpkgs/nixos/tests/login.nix>'
+```
+
+or, if you don't want to rely on `NIX_PATH`:
+
+```ShellSession
+$ cd /my/nixpkgs/nixos/tests
+$ nix-build login.nix
+…
+running the VM test script
+machine: QEMU running (pid 8841)
+…
+6 out of 6 tests succeeded
+```
+
+After building/downloading all required dependencies, this will perform
+a build that starts a QEMU/KVM virtual machine containing a NixOS
+system. The virtual machine mounts the Nix store of the host; this makes
+VM creation very fast, as no disk image needs to be created. Afterwards,
+you can view a pretty-printed log of the test:
+
+```ShellSession
+$ firefox result/log.html
+```
diff --git a/nixpkgs/nixos/doc/manual/development/running-nixos-tests.xml b/nixpkgs/nixos/doc/manual/development/running-nixos-tests.xml
deleted file mode 100644
index e9257c907daf..000000000000
--- a/nixpkgs/nixos/doc/manual/development/running-nixos-tests.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<section xmlns="http://docbook.org/ns/docbook"
-        xmlns:xlink="http://www.w3.org/1999/xlink"
-        xmlns:xi="http://www.w3.org/2001/XInclude"
-        version="5.0"
-        xml:id="sec-running-nixos-tests">
- <title>Running Tests</title>
-
- <para>
-  You can run tests using <command>nix-build</command>. For example, to run the
-  test
-  <filename
-xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/login.nix">login.nix</filename>,
-  you just do:
-<screen>
-<prompt>$ </prompt>nix-build '&lt;nixpkgs/nixos/tests/login.nix>'
-</screen>
-  or, if you don’t want to rely on <envar>NIX_PATH</envar>:
-<screen>
-<prompt>$ </prompt>cd /my/nixpkgs/nixos/tests
-<prompt>$ </prompt>nix-build login.nix
-…
-running the VM test script
-machine: QEMU running (pid 8841)
-…
-6 out of 6 tests succeeded
-</screen>
-  After building/downloading all required dependencies, this will perform a
-  build that starts a QEMU/KVM virtual machine containing a NixOS system. The
-  virtual machine mounts the Nix store of the host; this makes VM creation very
-  fast, as no disk image needs to be created. Afterwards, you can view a
-  pretty-printed log of the test:
-<screen>
-<prompt>$ </prompt>firefox result/log.html
-</screen>
- </para>
-</section>
diff --git a/nixpkgs/nixos/doc/manual/development/writing-nixos-tests.section.md b/nixpkgs/nixos/doc/manual/development/writing-nixos-tests.section.md
new file mode 100644
index 000000000000..8471e7608af9
--- /dev/null
+++ b/nixpkgs/nixos/doc/manual/development/writing-nixos-tests.section.md
@@ -0,0 +1,301 @@
+# Writing Tests {#sec-writing-nixos-tests}
+
+A NixOS test is a Nix expression that has the following structure:
+
+```nix
+import ./make-test-python.nix {
+
+  # Either the configuration of a single machine:
+  machine =
+    { config, pkgs, ... }:
+    { configuration…
+    };
+
+  # Or a set of machines:
+  nodes =
+    { machine1 =
+        { config, pkgs, ... }: { … };
+      machine2 =
+        { config, pkgs, ... }: { … };
+      …
+    };
+
+  testScript =
+    ''
+      Python code…
+    '';
+}
+```
+
+The attribute `testScript` is a bit of Python code that executes the
+test (described below). During the test, it will start one or more
+virtual machines, the configuration of which is described by the
+attribute `machine` (if you need only one machine in your test) or by
+the attribute `nodes` (if you need multiple machines). For instance,
+[`login.nix`](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/login.nix)
+only needs a single machine to test whether users can log in
+on the virtual console, whether device ownership is correctly maintained
+when switching between consoles, and so on. On the other hand,
+[`nfs/simple.nix`](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/nfs/simple.nix),
+which tests NFS client and server functionality in the
+Linux kernel (including whether locks are maintained across server
+crashes), requires three machines: a server and two clients.
+
+There are a few special NixOS configuration options for test VMs:
+
+`virtualisation.memorySize`
+
+:   The memory of the VM in megabytes.
+
+`virtualisation.vlans`
+
+:   The virtual networks to which the VM is connected. See
+    [`nat.nix`](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/nat.nix)
+    for an example.
+
+`virtualisation.writableStore`
+
+:   By default, the Nix store in the VM is not writable. If you enable
+    this option, a writable union file system is mounted on top of the
+    Nix store to make it appear writable. This is necessary for tests
+    that run Nix operations that modify the store.
+
+For more options, see the module
+[`qemu-vm.nix`](https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/virtualisation/qemu-vm.nix).
+
+The test script is a sequence of Python statements that perform various
+actions, such as starting VMs, executing commands in the VMs, and so on.
+Each virtual machine is represented as an object stored in the variable
+`name` if this is also the identifier of the machine in the declarative
+config. If you didn\'t specify multiple machines using the `nodes`
+attribute, it is just `machine`. The following example starts the
+machine, waits until it has finished booting, then executes a command
+and checks that the output is more-or-less correct:
+
+```py
+machine.start()
+machine.wait_for_unit("default.target")
+if not "Linux" in machine.succeed("uname"):
+  raise Exception("Wrong OS")
+```
+
+The first line is actually unnecessary; machines are implicitly started
+when you first execute an action on them (such as `wait_for_unit` or
+`succeed`). If you have multiple machines, you can speed up the test by
+starting them in parallel:
+
+```py
+start_all()
+```
+
+The following methods are available on machine objects:
+
+`start`
+
+:   Start the virtual machine. This method is asynchronous --- it does
+    not wait for the machine to finish booting.
+
+`shutdown`
+
+:   Shut down the machine, waiting for the VM to exit.
+
+`crash`
+
+:   Simulate a sudden power failure, by telling the VM to exit
+    immediately.
+
+`block`
+
+:   Simulate unplugging the Ethernet cable that connects the machine to
+    the other machines.
+
+`unblock`
+
+:   Undo the effect of `block`.
+
+`screenshot`
+
+:   Take a picture of the display of the virtual machine, in PNG format.
+    The screenshot is linked from the HTML log.
+
+`get_screen_text_variants`
+
+:   Return a list of different interpretations of what is currently
+    visible on the machine\'s screen using optical character
+    recognition. The number and order of the interpretations is not
+    specified and is subject to change, but if no exception is raised at
+    least one will be returned.
+
+    ::: {.note}
+    This requires passing `enableOCR` to the test attribute set.
+    :::
+
+`get_screen_text`
+
+:   Return a textual representation of what is currently visible on the
+    machine\'s screen using optical character recognition.
+
+    ::: {.note}
+    This requires passing `enableOCR` to the test attribute set.
+    :::
+
+`send_monitor_command`
+
+:   Send a command to the QEMU monitor. This is rarely used, but allows
+    doing stuff such as attaching virtual USB disks to a running
+    machine.
+
+`send_key`
+
+:   Simulate pressing keys on the virtual keyboard, e.g.,
+    `send_key("ctrl-alt-delete")`.
+
+`send_chars`
+
+:   Simulate typing a sequence of characters on the virtual keyboard,
+    e.g., `send_chars("foobar\n")` will type the string `foobar`
+    followed by the Enter key.
+
+`execute`
+
+:   Execute a shell command, returning a list `(status, stdout)`.
+
+`succeed`
+
+:   Execute a shell command, raising an exception if the exit status is
+    not zero, otherwise returning the standard output. Commands are run
+    with `set -euo pipefail` set:
+
+    -   If several commands are separated by `;` and one fails, the
+        command as a whole will fail.
+
+    -   For pipelines, the last non-zero exit status will be returned
+        (if there is one, zero will be returned otherwise).
+
+    -   Dereferencing unset variables fail the command.
+
+`fail`
+
+:   Like `succeed`, but raising an exception if the command returns a zero
+    status.
+
+`wait_until_succeeds`
+
+:   Repeat a shell command with 1-second intervals until it succeeds.
+
+`wait_until_fails`
+
+:   Repeat a shell command with 1-second intervals until it fails.
+
+`wait_for_unit`
+
+:   Wait until the specified systemd unit has reached the "active"
+    state.
+
+`wait_for_file`
+
+:   Wait until the specified file exists.
+
+`wait_for_open_port`
+
+:   Wait until a process is listening on the given TCP port (on
+    `localhost`, at least).
+
+`wait_for_closed_port`
+
+:   Wait until nobody is listening on the given TCP port.
+
+`wait_for_x`
+
+:   Wait until the X11 server is accepting connections.
+
+`wait_for_text`
+
+:   Wait until the supplied regular expressions matches the textual
+    contents of the screen by using optical character recognition (see
+    `get_screen_text` and `get_screen_text_variants`).
+
+    ::: {.note}
+    This requires passing `enableOCR` to the test attribute set.
+    :::
+
+`wait_for_console_text`
+
+:   Wait until the supplied regular expressions match a line of the
+    serial console output. This method is useful when OCR is not
+    possibile or accurate enough.
+
+`wait_for_window`
+
+:   Wait until an X11 window has appeared whose name matches the given
+    regular expression, e.g., `wait_for_window("Terminal")`.
+
+`copy_from_host`
+
+:   Copies a file from host to machine, e.g.,
+    `copy_from_host("myfile", "/etc/my/important/file")`.
+
+    The first argument is the file on the host. The file needs to be
+    accessible while building the nix derivation. The second argument is
+    the location of the file on the machine.
+
+`systemctl`
+
+:   Runs `systemctl` commands with optional support for
+    `systemctl --user`
+
+    ```py
+    machine.systemctl("list-jobs --no-pager") # runs `systemctl list-jobs --no-pager`
+    machine.systemctl("list-jobs --no-pager", "any-user") # spawns a shell for `any-user` and runs `systemctl --user list-jobs --no-pager`
+    ```
+
+`shell_interact`
+
+:   Allows you to directly interact with the guest shell. This should
+    only be used during test development, not in production tests.
+    Killing the interactive session with `Ctrl-d` or `Ctrl-c` also ends
+    the guest session.
+
+To test user units declared by `systemd.user.services` the optional
+`user` argument can be used:
+
+```py
+machine.start()
+machine.wait_for_x()
+machine.wait_for_unit("xautolock.service", "x-session-user")
+```
+
+This applies to `systemctl`, `get_unit_info`, `wait_for_unit`,
+`start_job` and `stop_job`.
+
+For faster dev cycles it\'s also possible to disable the code-linters
+(this shouldn\'t be commited though):
+
+```nix
+import ./make-test-python.nix {
+  skipLint = true;
+  machine =
+    { config, pkgs, ... }:
+    { configuration…
+    };
+
+  testScript =
+    ''
+      Python code…
+    '';
+}
+```
+
+This will produce a Nix warning at evaluation time. To fully disable the
+linter, wrap the test script in comment directives to disable the Black
+linter directly (again, don\'t commit this within the Nixpkgs
+repository):
+
+```nix
+  testScript =
+    ''
+      # fmt: off
+      Python code…
+      # fmt: on
+    '';
+```
diff --git a/nixpkgs/nixos/doc/manual/development/writing-nixos-tests.xml b/nixpkgs/nixos/doc/manual/development/writing-nixos-tests.xml
deleted file mode 100644
index e372c66410de..000000000000
--- a/nixpkgs/nixos/doc/manual/development/writing-nixos-tests.xml
+++ /dev/null
@@ -1,517 +0,0 @@
-<section xmlns="http://docbook.org/ns/docbook"
-        xmlns:xlink="http://www.w3.org/1999/xlink"
-        xmlns:xi="http://www.w3.org/2001/XInclude"
-        version="5.0"
-        xml:id="sec-writing-nixos-tests">
- <title>Writing Tests</title>
-
- <para>
-  A NixOS test is a Nix expression that has the following structure:
-<programlisting>
-import ./make-test-python.nix {
-
-  # Either the configuration of a single machine:
-  machine =
-    { config, pkgs, ... }:
-    { <replaceable>configuration…</replaceable>
-    };
-
-  # Or a set of machines:
-  nodes =
-    { <replaceable>machine1</replaceable> =
-        { config, pkgs, ... }: { <replaceable>…</replaceable> };
-      <replaceable>machine2</replaceable> =
-        { config, pkgs, ... }: { <replaceable>…</replaceable> };
-      …
-    };
-
-  testScript =
-    ''
-      <replaceable>Python code…</replaceable>
-    '';
-}
-</programlisting>
-  The attribute <literal>testScript</literal> is a bit of Python code that
-  executes the test (described below). During the test, it will start one or
-  more virtual machines, the configuration of which is described by the
-  attribute <literal>machine</literal> (if you need only one machine in your
-  test) or by the attribute <literal>nodes</literal> (if you need multiple
-  machines). For instance,
-  <filename
-xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/login.nix">login.nix</filename>
-  only needs a single machine to test whether users can log in on the virtual
-  console, whether device ownership is correctly maintained when switching
-  between consoles, and so on. On the other hand,
-  <filename
-xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/nfs/simple.nix">nfs/simple.nix</filename>,
-  which tests NFS client and server functionality in the Linux kernel
-  (including whether locks are maintained across server crashes), requires
-  three machines: a server and two clients.
- </para>
-
- <para>
-  There are a few special NixOS configuration options for test VMs:
-<!-- FIXME: would be nice to generate this automatically. -->
-  <variablelist>
-   <varlistentry>
-    <term>
-     <option>virtualisation.memorySize</option>
-    </term>
-    <listitem>
-     <para>
-      The memory of the VM in megabytes.
-     </para>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <option>virtualisation.vlans</option>
-    </term>
-    <listitem>
-     <para>
-      The virtual networks to which the VM is connected. See
-      <filename
-    xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/nat.nix">nat.nix</filename>
-      for an example.
-     </para>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <option>virtualisation.writableStore</option>
-    </term>
-    <listitem>
-     <para>
-      By default, the Nix store in the VM is not writable. If you enable this
-      option, a writable union file system is mounted on top of the Nix store
-      to make it appear writable. This is necessary for tests that run Nix
-      operations that modify the store.
-     </para>
-    </listitem>
-   </varlistentry>
-  </variablelist>
-  For more options, see the module
-  <filename
-xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/virtualisation/qemu-vm.nix">qemu-vm.nix</filename>.
- </para>
-
- <para>
-  The test script is a sequence of Python statements that perform various
-  actions, such as starting VMs, executing commands in the VMs, and so on. Each
-  virtual machine is represented as an object stored in the variable
-  <literal><replaceable>name</replaceable></literal> if this is also the
-  identifier of the machine in the declarative config.
-  If you didn't specify multiple machines using the <literal>nodes</literal>
-  attribute, it is just <literal>machine</literal>.
-  The following example starts the machine, waits until it has finished booting,
-  then executes a command and checks that the output is more-or-less correct:
-<programlisting>
-machine.start()
-machine.wait_for_unit("default.target")
-if not "Linux" in machine.succeed("uname"):
-  raise Exception("Wrong OS")
-</programlisting>
-  The first line is actually unnecessary; machines are implicitly started when
-  you first execute an action on them (such as <literal>wait_for_unit</literal>
-  or <literal>succeed</literal>). If you have multiple machines, you can speed
-  up the test by starting them in parallel:
-<programlisting>
-start_all()
-</programlisting>
- </para>
-
- <para>
-  The following methods are available on machine objects:
-  <variablelist>
-   <varlistentry>
-    <term>
-     <methodname>start</methodname>
-    </term>
-    <listitem>
-     <para>
-      Start the virtual machine. This method is asynchronous — it does not
-      wait for the machine to finish booting.
-     </para>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <methodname>shutdown</methodname>
-    </term>
-    <listitem>
-     <para>
-      Shut down the machine, waiting for the VM to exit.
-     </para>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <methodname>crash</methodname>
-    </term>
-    <listitem>
-     <para>
-      Simulate a sudden power failure, by telling the VM to exit immediately.
-     </para>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <methodname>block</methodname>
-    </term>
-    <listitem>
-     <para>
-      Simulate unplugging the Ethernet cable that connects the machine to the
-      other machines.
-     </para>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <methodname>unblock</methodname>
-    </term>
-    <listitem>
-     <para>
-      Undo the effect of <methodname>block</methodname>.
-     </para>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <methodname>screenshot</methodname>
-    </term>
-    <listitem>
-     <para>
-      Take a picture of the display of the virtual machine, in PNG format. The
-      screenshot is linked from the HTML log.
-     </para>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <methodname>get_screen_text_variants</methodname>
-    </term>
-    <listitem>
-     <para>
-      Return a list of different interpretations of what is currently visible
-      on the machine's screen using optical character recognition. The number
-      and order of the interpretations is not specified and is subject to
-      change, but if no exception is raised at least one will be returned.
-     </para>
-     <note>
-      <para>
-       This requires passing <option>enableOCR</option> to the test attribute
-       set.
-      </para>
-     </note>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <methodname>get_screen_text</methodname>
-    </term>
-    <listitem>
-     <para>
-      Return a textual representation of what is currently visible on the
-      machine's screen using optical character recognition.
-     </para>
-     <note>
-      <para>
-       This requires passing <option>enableOCR</option> to the test attribute
-       set.
-      </para>
-     </note>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <methodname>send_monitor_command</methodname>
-    </term>
-    <listitem>
-     <para>
-      Send a command to the QEMU monitor. This is rarely used, but allows doing
-      stuff such as attaching virtual USB disks to a running machine.
-     </para>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <methodname>send_key</methodname>
-    </term>
-    <listitem>
-     <para>
-      Simulate pressing keys on the virtual keyboard, e.g.,
-      <literal>send_key("ctrl-alt-delete")</literal>.
-     </para>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <methodname>send_chars</methodname>
-    </term>
-    <listitem>
-     <para>
-      Simulate typing a sequence of characters on the virtual keyboard, e.g.,
-      <literal>send_chars("foobar\n")</literal> will type the string
-      <literal>foobar</literal> followed by the Enter key.
-     </para>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <methodname>execute</methodname>
-    </term>
-    <listitem>
-     <para>
-      Execute a shell command, returning a list
-      <literal>(<replaceable>status</replaceable>,
-      <replaceable>stdout</replaceable>)</literal>.
-     </para>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <methodname>succeed</methodname>
-    </term>
-    <listitem>
-     <para>
-      Execute a shell command, raising an exception if the exit status
-      is not zero, otherwise returning the standard output. Commands
-      are run with <literal>set -euo pipefail</literal> set:
-      <itemizedlist>
-        <listitem>
-          <para>
-            If several commands are separated by <literal>;</literal>
-            and one fails, the command as a whole will fail.
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            For pipelines, the last non-zero exit status will be
-            returned (if there is one, zero will be returned
-            otherwise).
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Dereferencing unset variables fail the command.
-          </para>
-        </listitem>
-      </itemizedlist>
-     </para>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <methodname>fail</methodname>
-    </term>
-    <listitem>
-     <para>
-      Like <methodname>succeed</methodname>, but raising an exception if the
-      command returns a zero status.
-     </para>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <methodname>wait_until_succeeds</methodname>
-    </term>
-    <listitem>
-     <para>
-      Repeat a shell command with 1-second intervals until it succeeds.
-     </para>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <methodname>wait_until_fails</methodname>
-    </term>
-    <listitem>
-     <para>
-      Repeat a shell command with 1-second intervals until it fails.
-     </para>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <methodname>wait_for_unit</methodname>
-    </term>
-    <listitem>
-     <para>
-      Wait until the specified systemd unit has reached the “active” state.
-     </para>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <methodname>wait_for_file</methodname>
-    </term>
-    <listitem>
-     <para>
-      Wait until the specified file exists.
-     </para>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <methodname>wait_for_open_port</methodname>
-    </term>
-    <listitem>
-     <para>
-      Wait until a process is listening on the given TCP port (on
-      <literal>localhost</literal>, at least).
-     </para>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <methodname>wait_for_closed_port</methodname>
-    </term>
-    <listitem>
-     <para>
-      Wait until nobody is listening on the given TCP port.
-     </para>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <methodname>wait_for_x</methodname>
-    </term>
-    <listitem>
-     <para>
-      Wait until the X11 server is accepting connections.
-     </para>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <methodname>wait_for_text</methodname>
-    </term>
-    <listitem>
-     <para>
-      Wait until the supplied regular expressions matches the textual contents
-      of the screen by using optical character recognition (see
-     <methodname>get_screen_text</methodname> and
-     <methodname>get_screen_text_variants</methodname>).
-     </para>
-     <note>
-      <para>
-       This requires passing <option>enableOCR</option> to the test attribute
-       set.
-      </para>
-     </note>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <methodname>wait_for_console_text</methodname>
-    </term>
-    <listitem>
-     <para>
-      Wait until the supplied regular expressions match a line of the serial
-      console output. This method is useful when OCR is not possibile or
-      accurate enough.
-     </para>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <methodname>wait_for_window</methodname>
-    </term>
-    <listitem>
-     <para>
-      Wait until an X11 window has appeared whose name matches the given
-      regular expression, e.g., <literal>wait_for_window("Terminal")</literal>.
-     </para>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <methodname>copy_from_host</methodname>
-    </term>
-    <listitem>
-     <para>
-      Copies a file from host to machine, e.g.,
-      <literal>copy_from_host("myfile", "/etc/my/important/file")</literal>.
-     </para>
-     <para>
-      The first argument is the file on the host. The file needs to be
-      accessible while building the nix derivation. The second argument is the
-      location of the file on the machine.
-     </para>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <methodname>systemctl</methodname>
-    </term>
-    <listitem>
-     <para>
-      Runs <literal>systemctl</literal> commands with optional support for
-      <literal>systemctl --user</literal>
-     </para>
-     <para>
-<programlisting>
-machine.systemctl("list-jobs --no-pager") # runs `systemctl list-jobs --no-pager`
-machine.systemctl("list-jobs --no-pager", "any-user") # spawns a shell for `any-user` and runs `systemctl --user list-jobs --no-pager`
-</programlisting>
-     </para>
-    </listitem>
-   </varlistentry>
-   <varlistentry>
-    <term>
-     <methodname>shell_interact</methodname>
-    </term>
-    <listitem>
-     <para>
-      Allows you to directly interact with the guest shell.
-      This should only be used during test development, not in production tests.
-      Killing the interactive session with <literal>Ctrl-d</literal> or <literal>Ctrl-c</literal> also ends the guest session.
-     </para>
-    </listitem>
-   </varlistentry>
-  </variablelist>
- </para>
-
- <para>
-  To test user units declared by <literal>systemd.user.services</literal> the
-  optional <literal>user</literal> argument can be used:
-<programlisting>
-machine.start()
-machine.wait_for_x()
-machine.wait_for_unit("xautolock.service", "x-session-user")
-</programlisting>
-  This applies to <literal>systemctl</literal>, <literal>get_unit_info</literal>,
-  <literal>wait_for_unit</literal>, <literal>start_job</literal> and
-  <literal>stop_job</literal>.
- </para>
-
- <para>
-  For faster dev cycles it's also possible to disable the code-linters (this shouldn't
-  be commited though):
-<programlisting>
-import ./make-test-python.nix {
-  skipLint = true;
-  machine =
-    { config, pkgs, ... }:
-    { <replaceable>configuration…</replaceable>
-    };
-
-  testScript =
-    ''
-      <replaceable>Python code…</replaceable>
-    '';
-}
-</programlisting>
-  This will produce a Nix warning at evaluation time. To fully disable the
-  linter, wrap the test script in comment directives to disable the Black linter
-  directly (again, don't commit this within the Nixpkgs repository):
-<programlisting>
-  testScript =
-    ''
-      # fmt: off
-      <replaceable>Python code…</replaceable>
-      # fmt: on
-    '';
-</programlisting>
- </para>
-</section>
diff --git a/nixpkgs/nixos/doc/manual/from_md/administration/boot-problems.section.xml b/nixpkgs/nixos/doc/manual/from_md/administration/boot-problems.section.xml
index b484d075818a..4ea01e78f32f 100644
--- a/nixpkgs/nixos/doc/manual/from_md/administration/boot-problems.section.xml
+++ b/nixpkgs/nixos/doc/manual/from_md/administration/boot-problems.section.xml
@@ -107,6 +107,23 @@
     </varlistentry>
   </variablelist>
   <para>
+    In addition, these arguments are recognised by the live image only:
+  </para>
+  <variablelist>
+    <varlistentry>
+      <term>
+        <literal>live.nixos.passwd=password</literal>
+      </term>
+      <listitem>
+        <para>
+          Set the password for the <literal>nixos</literal> live user.
+          This can be used for SSH access if there are issues using the
+          terminal.
+        </para>
+      </listitem>
+    </varlistentry>
+  </variablelist>
+  <para>
     Notice that for <literal>boot.shell_on_fail</literal>,
     <literal>boot.debug1</literal>,
     <literal>boot.debug1devices</literal>, and
diff --git a/nixpkgs/nixos/doc/manual/from_md/development/running-nixos-tests-interactively.section.xml b/nixpkgs/nixos/doc/manual/from_md/development/running-nixos-tests-interactively.section.xml
new file mode 100644
index 000000000000..a2030e9c0739
--- /dev/null
+++ b/nixpkgs/nixos/doc/manual/from_md/development/running-nixos-tests-interactively.section.xml
@@ -0,0 +1,50 @@
+<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-running-nixos-tests-interactively">
+  <title>Running Tests interactively</title>
+  <para>
+    The test itself can be run interactively. This is particularly
+    useful when developing or debugging a test:
+  </para>
+  <programlisting>
+$ nix-build nixos/tests/login.nix -A driverInteractive
+$ ./result/bin/nixos-test-driver
+starting VDE switch for network 1
+&gt;
+</programlisting>
+  <para>
+    You can then take any Python statement, e.g.
+  </para>
+  <programlisting language="python">
+&gt; start_all()
+&gt; test_script()
+&gt; machine.succeed(&quot;touch /tmp/foo&quot;)
+&gt; print(machine.succeed(&quot;pwd&quot;)) # Show stdout of command
+</programlisting>
+  <para>
+    The function <literal>test_script</literal> executes the entire test
+    script and drops you back into the test driver command line upon its
+    completion. This allows you to inspect the state of the VMs after
+    the test (e.g. to debug the test script).
+  </para>
+  <para>
+    To just start and experiment with the VMs, run:
+  </para>
+  <programlisting>
+$ nix-build nixos/tests/login.nix -A driverInteractive
+$ ./result/bin/nixos-run-vms
+</programlisting>
+  <para>
+    The script <literal>nixos-run-vms</literal> starts the virtual
+    machines defined by test.
+  </para>
+  <para>
+    You can re-use the VM states coming from a previous run by setting
+    the <literal>--keep-vm-state</literal> flag.
+  </para>
+  <programlisting>
+$ ./result/bin/nixos-run-vms --keep-vm-state
+</programlisting>
+  <para>
+    The machine state is stored in the
+    <literal>$TMPDIR/vm-state-machinename</literal> directory.
+  </para>
+</section>
diff --git a/nixpkgs/nixos/doc/manual/from_md/development/running-nixos-tests.section.xml b/nixpkgs/nixos/doc/manual/from_md/development/running-nixos-tests.section.xml
new file mode 100644
index 000000000000..7159b95b22b0
--- /dev/null
+++ b/nixpkgs/nixos/doc/manual/from_md/development/running-nixos-tests.section.xml
@@ -0,0 +1,34 @@
+<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-running-nixos-tests">
+  <title>Running Tests</title>
+  <para>
+    You can run tests using <literal>nix-build</literal>. For example,
+    to run the test
+    <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/login.nix"><literal>login.nix</literal></link>,
+    you just do:
+  </para>
+  <programlisting>
+$ nix-build '&lt;nixpkgs/nixos/tests/login.nix&gt;'
+</programlisting>
+  <para>
+    or, if you don’t want to rely on <literal>NIX_PATH</literal>:
+  </para>
+  <programlisting>
+$ cd /my/nixpkgs/nixos/tests
+$ nix-build login.nix
+…
+running the VM test script
+machine: QEMU running (pid 8841)
+…
+6 out of 6 tests succeeded
+</programlisting>
+  <para>
+    After building/downloading all required dependencies, this will
+    perform a build that starts a QEMU/KVM virtual machine containing a
+    NixOS system. The virtual machine mounts the Nix store of the host;
+    this makes VM creation very fast, as no disk image needs to be
+    created. Afterwards, you can view a pretty-printed log of the test:
+  </para>
+  <programlisting>
+$ firefox result/log.html
+</programlisting>
+</section>
diff --git a/nixpkgs/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml b/nixpkgs/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml
new file mode 100644
index 000000000000..83a96d5bb224
--- /dev/null
+++ b/nixpkgs/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml
@@ -0,0 +1,526 @@
+<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-writing-nixos-tests">
+  <title>Writing Tests</title>
+  <para>
+    A NixOS test is a Nix expression that has the following structure:
+  </para>
+  <programlisting language="bash">
+import ./make-test-python.nix {
+
+  # Either the configuration of a single machine:
+  machine =
+    { config, pkgs, ... }:
+    { configuration…
+    };
+
+  # Or a set of machines:
+  nodes =
+    { machine1 =
+        { config, pkgs, ... }: { … };
+      machine2 =
+        { config, pkgs, ... }: { … };
+      …
+    };
+
+  testScript =
+    ''
+      Python code…
+    '';
+}
+</programlisting>
+  <para>
+    The attribute <literal>testScript</literal> is a bit of Python code
+    that executes the test (described below). During the test, it will
+    start one or more virtual machines, the configuration of which is
+    described by the attribute <literal>machine</literal> (if you need
+    only one machine in your test) or by the attribute
+    <literal>nodes</literal> (if you need multiple machines). For
+    instance,
+    <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/login.nix"><literal>login.nix</literal></link>
+    only needs a single machine to test whether users can log in on the
+    virtual console, whether device ownership is correctly maintained
+    when switching between consoles, and so on. On the other hand,
+    <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/nfs/simple.nix"><literal>nfs/simple.nix</literal></link>,
+    which tests NFS client and server functionality in the Linux kernel
+    (including whether locks are maintained across server crashes),
+    requires three machines: a server and two clients.
+  </para>
+  <para>
+    There are a few special NixOS configuration options for test VMs:
+  </para>
+  <variablelist>
+    <varlistentry>
+      <term>
+        <literal>virtualisation.memorySize</literal>
+      </term>
+      <listitem>
+        <para>
+          The memory of the VM in megabytes.
+        </para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term>
+        <literal>virtualisation.vlans</literal>
+      </term>
+      <listitem>
+        <para>
+          The virtual networks to which the VM is connected. See
+          <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/nat.nix"><literal>nat.nix</literal></link>
+          for an example.
+        </para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term>
+        <literal>virtualisation.writableStore</literal>
+      </term>
+      <listitem>
+        <para>
+          By default, the Nix store in the VM is not writable. If you
+          enable this option, a writable union file system is mounted on
+          top of the Nix store to make it appear writable. This is
+          necessary for tests that run Nix operations that modify the
+          store.
+        </para>
+      </listitem>
+    </varlistentry>
+  </variablelist>
+  <para>
+    For more options, see the module
+    <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/virtualisation/qemu-vm.nix"><literal>qemu-vm.nix</literal></link>.
+  </para>
+  <para>
+    The test script is a sequence of Python statements that perform
+    various actions, such as starting VMs, executing commands in the
+    VMs, and so on. Each virtual machine is represented as an object
+    stored in the variable <literal>name</literal> if this is also the
+    identifier of the machine in the declarative config. If you didn't
+    specify multiple machines using the <literal>nodes</literal>
+    attribute, it is just <literal>machine</literal>. The following
+    example starts the machine, waits until it has finished booting,
+    then executes a command and checks that the output is more-or-less
+    correct:
+  </para>
+  <programlisting language="python">
+machine.start()
+machine.wait_for_unit(&quot;default.target&quot;)
+if not &quot;Linux&quot; in machine.succeed(&quot;uname&quot;):
+  raise Exception(&quot;Wrong OS&quot;)
+</programlisting>
+  <para>
+    The first line is actually unnecessary; machines are implicitly
+    started when you first execute an action on them (such as
+    <literal>wait_for_unit</literal> or <literal>succeed</literal>). If
+    you have multiple machines, you can speed up the test by starting
+    them in parallel:
+  </para>
+  <programlisting language="python">
+start_all()
+</programlisting>
+  <para>
+    The following methods are available on machine objects:
+  </para>
+  <variablelist>
+    <varlistentry>
+      <term>
+        <literal>start</literal>
+      </term>
+      <listitem>
+        <para>
+          Start the virtual machine. This method is asynchronous — it
+          does not wait for the machine to finish booting.
+        </para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term>
+        <literal>shutdown</literal>
+      </term>
+      <listitem>
+        <para>
+          Shut down the machine, waiting for the VM to exit.
+        </para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term>
+        <literal>crash</literal>
+      </term>
+      <listitem>
+        <para>
+          Simulate a sudden power failure, by telling the VM to exit
+          immediately.
+        </para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term>
+        <literal>block</literal>
+      </term>
+      <listitem>
+        <para>
+          Simulate unplugging the Ethernet cable that connects the
+          machine to the other machines.
+        </para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term>
+        <literal>unblock</literal>
+      </term>
+      <listitem>
+        <para>
+          Undo the effect of <literal>block</literal>.
+        </para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term>
+        <literal>screenshot</literal>
+      </term>
+      <listitem>
+        <para>
+          Take a picture of the display of the virtual machine, in PNG
+          format. The screenshot is linked from the HTML log.
+        </para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term>
+        <literal>get_screen_text_variants</literal>
+      </term>
+      <listitem>
+        <para>
+          Return a list of different interpretations of what is
+          currently visible on the machine's screen using optical
+          character recognition. The number and order of the
+          interpretations is not specified and is subject to change, but
+          if no exception is raised at least one will be returned.
+        </para>
+        <note>
+          <para>
+            This requires passing <literal>enableOCR</literal> to the
+            test attribute set.
+          </para>
+        </note>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term>
+        <literal>get_screen_text</literal>
+      </term>
+      <listitem>
+        <para>
+          Return a textual representation of what is currently visible
+          on the machine's screen using optical character recognition.
+        </para>
+        <note>
+          <para>
+            This requires passing <literal>enableOCR</literal> to the
+            test attribute set.
+          </para>
+        </note>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term>
+        <literal>send_monitor_command</literal>
+      </term>
+      <listitem>
+        <para>
+          Send a command to the QEMU monitor. This is rarely used, but
+          allows doing stuff such as attaching virtual USB disks to a
+          running machine.
+        </para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term>
+        <literal>send_key</literal>
+      </term>
+      <listitem>
+        <para>
+          Simulate pressing keys on the virtual keyboard, e.g.,
+          <literal>send_key(&quot;ctrl-alt-delete&quot;)</literal>.
+        </para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term>
+        <literal>send_chars</literal>
+      </term>
+      <listitem>
+        <para>
+          Simulate typing a sequence of characters on the virtual
+          keyboard, e.g.,
+          <literal>send_chars(&quot;foobar\n&quot;)</literal> will type
+          the string <literal>foobar</literal> followed by the Enter
+          key.
+        </para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term>
+        <literal>execute</literal>
+      </term>
+      <listitem>
+        <para>
+          Execute a shell command, returning a list
+          <literal>(status, stdout)</literal>.
+        </para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term>
+        <literal>succeed</literal>
+      </term>
+      <listitem>
+        <para>
+          Execute a shell command, raising an exception if the exit
+          status is not zero, otherwise returning the standard output.
+          Commands are run with <literal>set -euo pipefail</literal>
+          set:
+        </para>
+        <itemizedlist>
+          <listitem>
+            <para>
+              If several commands are separated by <literal>;</literal>
+              and one fails, the command as a whole will fail.
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              For pipelines, the last non-zero exit status will be
+              returned (if there is one, zero will be returned
+              otherwise).
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              Dereferencing unset variables fail the command.
+            </para>
+          </listitem>
+        </itemizedlist>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term>
+        <literal>fail</literal>
+      </term>
+      <listitem>
+        <para>
+          Like <literal>succeed</literal>, but raising an exception if
+          the command returns a zero status.
+        </para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term>
+        <literal>wait_until_succeeds</literal>
+      </term>
+      <listitem>
+        <para>
+          Repeat a shell command with 1-second intervals until it
+          succeeds.
+        </para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term>
+        <literal>wait_until_fails</literal>
+      </term>
+      <listitem>
+        <para>
+          Repeat a shell command with 1-second intervals until it fails.
+        </para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term>
+        <literal>wait_for_unit</literal>
+      </term>
+      <listitem>
+        <para>
+          Wait until the specified systemd unit has reached the
+          <quote>active</quote> state.
+        </para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term>
+        <literal>wait_for_file</literal>
+      </term>
+      <listitem>
+        <para>
+          Wait until the specified file exists.
+        </para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term>
+        <literal>wait_for_open_port</literal>
+      </term>
+      <listitem>
+        <para>
+          Wait until a process is listening on the given TCP port (on
+          <literal>localhost</literal>, at least).
+        </para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term>
+        <literal>wait_for_closed_port</literal>
+      </term>
+      <listitem>
+        <para>
+          Wait until nobody is listening on the given TCP port.
+        </para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term>
+        <literal>wait_for_x</literal>
+      </term>
+      <listitem>
+        <para>
+          Wait until the X11 server is accepting connections.
+        </para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term>
+        <literal>wait_for_text</literal>
+      </term>
+      <listitem>
+        <para>
+          Wait until the supplied regular expressions matches the
+          textual contents of the screen by using optical character
+          recognition (see <literal>get_screen_text</literal> and
+          <literal>get_screen_text_variants</literal>).
+        </para>
+        <note>
+          <para>
+            This requires passing <literal>enableOCR</literal> to the
+            test attribute set.
+          </para>
+        </note>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term>
+        <literal>wait_for_console_text</literal>
+      </term>
+      <listitem>
+        <para>
+          Wait until the supplied regular expressions match a line of
+          the serial console output. This method is useful when OCR is
+          not possibile or accurate enough.
+        </para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term>
+        <literal>wait_for_window</literal>
+      </term>
+      <listitem>
+        <para>
+          Wait until an X11 window has appeared whose name matches the
+          given regular expression, e.g.,
+          <literal>wait_for_window(&quot;Terminal&quot;)</literal>.
+        </para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term>
+        <literal>copy_from_host</literal>
+      </term>
+      <listitem>
+        <para>
+          Copies a file from host to machine, e.g.,
+          <literal>copy_from_host(&quot;myfile&quot;, &quot;/etc/my/important/file&quot;)</literal>.
+        </para>
+        <para>
+          The first argument is the file on the host. The file needs to
+          be accessible while building the nix derivation. The second
+          argument is the location of the file on the machine.
+        </para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term>
+        <literal>systemctl</literal>
+      </term>
+      <listitem>
+        <para>
+          Runs <literal>systemctl</literal> commands with optional
+          support for <literal>systemctl --user</literal>
+        </para>
+        <programlisting language="python">
+machine.systemctl(&quot;list-jobs --no-pager&quot;) # runs `systemctl list-jobs --no-pager`
+machine.systemctl(&quot;list-jobs --no-pager&quot;, &quot;any-user&quot;) # spawns a shell for `any-user` and runs `systemctl --user list-jobs --no-pager`
+</programlisting>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term>
+        <literal>shell_interact</literal>
+      </term>
+      <listitem>
+        <para>
+          Allows you to directly interact with the guest shell. This
+          should only be used during test development, not in production
+          tests. Killing the interactive session with
+          <literal>Ctrl-d</literal> or <literal>Ctrl-c</literal> also
+          ends the guest session.
+        </para>
+      </listitem>
+    </varlistentry>
+  </variablelist>
+  <para>
+    To test user units declared by
+    <literal>systemd.user.services</literal> the optional
+    <literal>user</literal> argument can be used:
+  </para>
+  <programlisting language="python">
+machine.start()
+machine.wait_for_x()
+machine.wait_for_unit(&quot;xautolock.service&quot;, &quot;x-session-user&quot;)
+</programlisting>
+  <para>
+    This applies to <literal>systemctl</literal>,
+    <literal>get_unit_info</literal>, <literal>wait_for_unit</literal>,
+    <literal>start_job</literal> and <literal>stop_job</literal>.
+  </para>
+  <para>
+    For faster dev cycles it's also possible to disable the code-linters
+    (this shouldn't be commited though):
+  </para>
+  <programlisting language="bash">
+import ./make-test-python.nix {
+  skipLint = true;
+  machine =
+    { config, pkgs, ... }:
+    { configuration…
+    };
+
+  testScript =
+    ''
+      Python code…
+    '';
+}
+</programlisting>
+  <para>
+    This will produce a Nix warning at evaluation time. To fully disable
+    the linter, wrap the test script in comment directives to disable
+    the Black linter directly (again, don't commit this within the
+    Nixpkgs repository):
+  </para>
+  <programlisting language="bash">
+  testScript =
+    ''
+      # fmt: off
+      Python code…
+      # fmt: on
+    '';
+</programlisting>
+</section>
diff --git a/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2105.section.xml b/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2105.section.xml
index e043bee7761d..f4155d6f8ce6 100644
--- a/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2105.section.xml
+++ b/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2105.section.xml
@@ -101,16 +101,18 @@
       <listitem>
         <para>
           <link xlink:href="https://www.gnuradio.org/">GNURadio</link>
-          3.8 was
+          3.8 and 3.9 were
           <link xlink:href="https://github.com/NixOS/nixpkgs/issues/82263">finally</link>
           packaged, along with a rewrite to the Nix expressions,
           allowing users to override the features upstream supports
           selecting to compile or not to. Additionally, the attribute
-          <literal>gnuradio</literal> and <literal>gnuradio3_7</literal>
-          now point to an externally wrapped by default derivations,
-          that allow you to also add `extraPythonPackages` to the Python
-          interpreter used by GNURadio. Missing environmental variables
-          needed for operational GUI were also added
+          <literal>gnuradio</literal> (3.9),
+          <literal>gnuradio3_8</literal> and
+          <literal>gnuradio3_7</literal> now point to an externally
+          wrapped by default derivations, that allow you to also add
+          `extraPythonPackages` to the Python interpreter used by
+          GNURadio. Missing environmental variables needed for
+          operational GUI were also added
           (<link xlink:href="https://github.com/NixOS/nixpkgs/issues/75478">#75478</link>).
         </para>
       </listitem>
@@ -1026,7 +1028,7 @@ self: super:
         <para>
           <link xlink:href="https://kodi.tv/">Kodi</link> has been
           updated to version 19.1 &quot;Matrix&quot;. See the
-          <link xlink:href="https://kodi.tv/article/kodi-190-matrix-release">announcement</link>
+          <link xlink:href="https://kodi.tv/article/kodi-19-0-matrix-release">announcement</link>
           for further details.
         </para>
       </listitem>
diff --git a/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
index 896a797cefbd..a95b1dd66b96 100644
--- a/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
+++ b/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
@@ -27,6 +27,15 @@
     <itemizedlist>
       <listitem>
         <para>
+          <link xlink:href="https://digint.ch/btrbk/index.html">btrbk</link>,
+          a backup tool for btrfs subvolumes, taking advantage of btrfs
+          specific capabilities to create atomic snapshots and transfer
+          them incrementally to your backup locations. Available as
+          <link xlink:href="options.html#opt-services.brtbk.instances">services.btrbk</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <link xlink:href="https://github.com/maxmind/geoipupdate">geoipupdate</link>,
           a GeoIP database updater from MaxMind. Available as
           <link xlink:href="options.html#opt-services.geoipupdate.enable">services.geoipupdate</link>.
@@ -48,6 +57,14 @@
           <link xlink:href="options.html#opt-networking.ucarp.enable">networking.ucarp</link>.
         </para>
       </listitem>
+      <listitem>
+        <para>
+          Users of flashrom should migrate to
+          <link xlink:href="options.html#opt-programs.flashrom.enable">programs.flashrom.enable</link>
+          and add themselves to the <literal>flashrom</literal> group to
+          be able to access programmers supported by flashrom.
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
   <section xml:id="sec-release-21.11-incompatibilities">
@@ -56,7 +73,7 @@
       <listitem>
         <para>
           The <literal>staticjinja</literal> package has been upgraded
-          from 1.0.4 to 2.0.0
+          from 1.0.4 to 3.0.1
         </para>
       </listitem>
       <listitem>
@@ -331,6 +348,126 @@
           release instead of the old 2.31.0 version.
         </para>
       </listitem>
+      <listitem>
+        <para>
+          The <literal>bitwarden_rs</literal> packages and modules were
+          renamed to <literal>vaultwarden</literal>
+          <link xlink:href="https://github.com/dani-garcia/vaultwarden/discussions/1642">following
+          upstream</link>. More specifically,
+        </para>
+        <itemizedlist>
+          <listitem>
+            <para>
+              <literal>pkgs.bitwarden_rs</literal>,
+              <literal>pkgs.bitwarden_rs-sqlite</literal>,
+              <literal>pkgs.bitwarden_rs-mysql</literal> and
+              <literal>pkgs.bitwarden_rs-postgresql</literal> were
+              renamed to <literal>pkgs.vaultwarden</literal>,
+              <literal>pkgs.vaultwarden-sqlite</literal>,
+              <literal>pkgs.vaultwarden-mysql</literal> and
+              <literal>pkgs.vaultwarden-postgresql</literal>,
+              respectively.
+            </para>
+            <itemizedlist spacing="compact">
+              <listitem>
+                <para>
+                  Old names are preserved as aliases for backwards
+                  compatibility, but may be removed in the future.
+                </para>
+              </listitem>
+              <listitem>
+                <para>
+                  The <literal>bitwarden_rs</literal> executable was
+                  also renamed to <literal>vaultwarden</literal> in all
+                  packages.
+                </para>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+          <listitem>
+            <para>
+              <literal>pkgs.bitwarden_rs-vault</literal> was renamed to
+              <literal>pkgs.vaultwarden-vault</literal>.
+            </para>
+            <itemizedlist spacing="compact">
+              <listitem>
+                <para>
+                  <literal>pkgs.bitwarden_rs-vault</literal> is
+                  preserved as an alias for backwards compatibility, but
+                  may be removed in the future.
+                </para>
+              </listitem>
+              <listitem>
+                <para>
+                  The static files were moved from
+                  <literal>/usr/share/bitwarden_rs</literal> to
+                  <literal>/usr/share/vaultwarden</literal>.
+                </para>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+          <listitem>
+            <para>
+              The <literal>services.bitwarden_rs</literal> config module
+              was renamed to <literal>services.vaultwarden</literal>.
+            </para>
+            <itemizedlist spacing="compact">
+              <listitem>
+                <para>
+                  <literal>services.bitwarden_rs</literal> is preserved
+                  as an alias for backwards compatibility, but may be
+                  removed in the future.
+                </para>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+          <listitem>
+            <para>
+              <literal>systemd.services.bitwarden_rs</literal>,
+              <literal>systemd.services.backup-bitwarden_rs</literal>
+              and <literal>systemd.timers.backup-bitwarden_rs</literal>
+              were renamed to
+              <literal>systemd.services.vaultwarden</literal>,
+              <literal>systemd.services.backup-vaultwarden</literal> and
+              <literal>systemd.timers.backup-vaultwarden</literal>,
+              respectively.
+            </para>
+            <itemizedlist spacing="compact">
+              <listitem>
+                <para>
+                  Old names are preserved as aliases for backwards
+                  compatibility, but may be removed in the future.
+                </para>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+          <listitem>
+            <para>
+              <literal>users.users.bitwarden_rs</literal> and
+              <literal>users.groups.bitwarden_rs</literal> were renamed
+              to <literal>users.users.vaultwarden</literal> and
+              <literal>users.groups.vaultwarden</literal>, respectively.
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              The data directory remains located at
+              <literal>/var/lib/bitwarden_rs</literal>, for backwards
+              compatibility.
+            </para>
+          </listitem>
+        </itemizedlist>
+      </listitem>
+    </itemizedlist>
+    <itemizedlist spacing="compact">
+      <listitem>
+        <para>
+          <literal>yggdrasil</literal> was upgraded to a new major
+          release with breaking changes, see
+          <link xlink:href="https://github.com/yggdrasil-network/yggdrasil-go/releases/tag/v0.4.0">upstream
+          changelog</link>.
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
   <section xml:id="sec-release-21.11-notable-changes">
diff --git a/nixpkgs/nixos/doc/manual/installation/installing.xml b/nixpkgs/nixos/doc/manual/installation/installing.xml
index f03b9443d23b..d019bb318096 100644
--- a/nixpkgs/nixos/doc/manual/installation/installing.xml
+++ b/nixpkgs/nixos/doc/manual/installation/installing.xml
@@ -446,8 +446,8 @@
      password for the <literal>root</literal> user, e.g.
 <screen>
 setting root password...
-Enter new UNIX password: ***
-Retype new UNIX password: ***</screen>
+New password: ***
+Retype new password: ***</screen>
      <note>
       <para>
        For unattended installations, it is possible to use
diff --git a/nixpkgs/nixos/doc/manual/preface.xml b/nixpkgs/nixos/doc/manual/preface.xml
index 0f7db6ef1a82..ded6bdc87deb 100644
--- a/nixpkgs/nixos/doc/manual/preface.xml
+++ b/nixpkgs/nixos/doc/manual/preface.xml
@@ -20,8 +20,8 @@
   <literal
    xlink:href="https://discourse.nixos.org">Discourse</literal> or
   on the <link
-   xlink:href="irc://irc.freenode.net/#nixos">
-  <literal>#nixos</literal> channel on Freenode</link>, or
+   xlink:href="irc://irc.libera.chat/#nixos">
+  <literal>#nixos</literal> channel on Libera.Chat</link>, or
   consider
   <link
    xlink:href="#chap-contributing">
diff --git a/nixpkgs/nixos/doc/manual/release-notes/rl-2105.section.md b/nixpkgs/nixos/doc/manual/release-notes/rl-2105.section.md
index e4565b8ca605..49b97c203fe6 100644
--- a/nixpkgs/nixos/doc/manual/release-notes/rl-2105.section.md
+++ b/nixpkgs/nixos/doc/manual/release-notes/rl-2105.section.md
@@ -36,7 +36,7 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 The following new services were added since the last release:
 
-- [GNURadio](https://www.gnuradio.org/) 3.8 was [finally](https://github.com/NixOS/nixpkgs/issues/82263) packaged, along with a rewrite to the Nix expressions, allowing users to override the features upstream supports selecting to compile or not to. Additionally, the attribute `gnuradio` and `gnuradio3_7` now point to an externally wrapped by default derivations, that allow you to also add \`extraPythonPackages\` to the Python interpreter used by GNURadio. Missing environmental variables needed for operational GUI were also added ([\#75478](https://github.com/NixOS/nixpkgs/issues/75478)).
+- [GNURadio](https://www.gnuradio.org/) 3.8 and 3.9 were [finally](https://github.com/NixOS/nixpkgs/issues/82263) packaged, along with a rewrite to the Nix expressions, allowing users to override the features upstream supports selecting to compile or not to. Additionally, the attribute `gnuradio` (3.9), `gnuradio3_8` and `gnuradio3_7` now point to an externally wrapped by default derivations, that allow you to also add \`extraPythonPackages\` to the Python interpreter used by GNURadio. Missing environmental variables needed for operational GUI were also added ([\#75478](https://github.com/NixOS/nixpkgs/issues/75478)).
 
 - [Keycloak](https://www.keycloak.org/), an open source identity and access management server with support for [OpenID Connect](https://openid.net/connect/), [OAUTH 2.0](https://oauth.net/2/) and [SAML 2.0](https://en.wikipedia.org/wiki/SAML_2.0).
 
@@ -300,7 +300,7 @@ When upgrading from a previous release, please be aware of the following incompa
 
   Regarding the NixOS module, new options for HTTPS inspection have been added and `services.privoxy.extraConfig` has been replaced by the new [services.privoxy.settings](options.html#opt-services.privoxy.settings) (See [RFC 0042](https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md) for the motivation).
 
-- [Kodi](https://kodi.tv/) has been updated to version 19.1 \"Matrix\". See the [announcement](https://kodi.tv/article/kodi-190-matrix-release) for further details.
+- [Kodi](https://kodi.tv/) has been updated to version 19.1 \"Matrix\". See the [announcement](https://kodi.tv/article/kodi-19-0-matrix-release) for further details.
 
 - The `services.packagekit.backend` option has been removed as it only supported a single setting which would always be the default. Instead new [RFC 0042](https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md) compliant [services.packagekit.settings](options.html#opt-services.packagekit.settings) and [services.packagekit.vendorSettings](options.html#opt-services.packagekit.vendorSettings) options have been introduced.
 
diff --git a/nixpkgs/nixos/doc/manual/release-notes/rl-2111.section.md b/nixpkgs/nixos/doc/manual/release-notes/rl-2111.section.md
index afb129960411..be46591dfa16 100644
--- a/nixpkgs/nixos/doc/manual/release-notes/rl-2111.section.md
+++ b/nixpkgs/nixos/doc/manual/release-notes/rl-2111.section.md
@@ -10,15 +10,19 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 ## New Services {#sec-release-21.11-new-services}
 
+- [btrbk](https://digint.ch/btrbk/index.html), a backup tool for btrfs subvolumes, taking advantage of btrfs specific capabilities to create atomic snapshots and transfer them incrementally to your backup locations. Available as [services.btrbk](options.html#opt-services.brtbk.instances).
+
 - [geoipupdate](https://github.com/maxmind/geoipupdate), a GeoIP database updater from MaxMind. Available as [services.geoipupdate](options.html#opt-services.geoipupdate.enable).
 
 - [sourcehut](https://sr.ht), a collection of tools useful for software development. Available as [services.sourcehut](options.html#opt-services.sourcehut.enable).
 
 - [ucarp](https://download.pureftpd.org/pub/ucarp/README), an userspace implementation of the Common Address Redundancy Protocol (CARP). Available as [networking.ucarp](options.html#opt-networking.ucarp.enable).
 
+- Users of flashrom should migrate to [programs.flashrom.enable](options.html#opt-programs.flashrom.enable) and add themselves to the `flashrom` group to be able to access programmers supported by flashrom.
+
 ## Backward Incompatibilities {#sec-release-21.11-incompatibilities}
 
-- The `staticjinja` package has been upgraded from 1.0.4 to 2.0.0
+- The `staticjinja` package has been upgraded from 1.0.4 to 3.0.1
 
 - `services.geoip-updater` was broken and has been replaced by [services.geoipupdate](options.html#opt-services.geoipupdate.enable).
 
@@ -83,6 +87,34 @@ In addition to numerous new and upgraded packages, this release has the followin
 * The `libwnck` package now defaults to the 3.x release instead of the
   old 2.31.0 version.
 
+* The `bitwarden_rs` packages and modules were renamed to `vaultwarden`
+  [following upstream](https://github.com/dani-garcia/vaultwarden/discussions/1642). More specifically,
+
+  * `pkgs.bitwarden_rs`, `pkgs.bitwarden_rs-sqlite`, `pkgs.bitwarden_rs-mysql` and
+    `pkgs.bitwarden_rs-postgresql` were renamed to `pkgs.vaultwarden`, `pkgs.vaultwarden-sqlite`,
+    `pkgs.vaultwarden-mysql` and `pkgs.vaultwarden-postgresql`, respectively.
+    * Old names are preserved as aliases for backwards compatibility, but may be removed in the future.
+    * The `bitwarden_rs` executable was also renamed to `vaultwarden` in all packages.
+
+  * `pkgs.bitwarden_rs-vault` was renamed to `pkgs.vaultwarden-vault`.
+    * `pkgs.bitwarden_rs-vault` is preserved as an alias for backwards compatibility, but may be removed in the future.
+    * The static files were moved from `/usr/share/bitwarden_rs` to `/usr/share/vaultwarden`.
+
+  * The `services.bitwarden_rs` config module was renamed to `services.vaultwarden`.
+    * `services.bitwarden_rs` is preserved as an alias for backwards compatibility, but may be removed in the future.
+
+  * `systemd.services.bitwarden_rs`, `systemd.services.backup-bitwarden_rs` and `systemd.timers.backup-bitwarden_rs`
+    were renamed to `systemd.services.vaultwarden`, `systemd.services.backup-vaultwarden` and
+    `systemd.timers.backup-vaultwarden`, respectively.
+    * Old names are preserved as aliases for backwards compatibility, but may be removed in the future.
+
+  * `users.users.bitwarden_rs` and `users.groups.bitwarden_rs` were renamed to `users.users.vaultwarden` and
+    `users.groups.vaultwarden`, respectively.
+
+  * The data directory remains located at `/var/lib/bitwarden_rs`, for backwards compatibility.
+
+- `yggdrasil` was upgraded to a new major release with breaking changes, see [upstream changelog](https://github.com/yggdrasil-network/yggdrasil-go/releases/tag/v0.4.0).
+
 ## Other Notable Changes {#sec-release-21.11-notable-changes}
 
 - The setting [`services.openssh.logLevel`](options.html#opt-services.openssh.logLevel) `"VERBOSE"` `"INFO"`. This brings NixOS in line with upstream and other Linux distributions, and reduces log spam on servers due to bruteforcing botnets.
diff --git a/nixpkgs/nixos/modules/config/shells-environment.nix b/nixpkgs/nixos/modules/config/shells-environment.nix
index a0a20228a742..34e558d8603d 100644
--- a/nixpkgs/nixos/modules/config/shells-environment.nix
+++ b/nixpkgs/nixos/modules/config/shells-environment.nix
@@ -126,6 +126,14 @@ in
       type = types.bool;
     };
 
+    environment.localBinInPath = mkOption {
+      description = ''
+        Add ~/.local/bin/ to $PATH
+      '';
+      default = false;
+      type = types.bool;
+    };
+
     environment.binsh = mkOption {
       default = "${config.system.build.binsh}/bin/sh";
       defaultText = "\${config.system.build.binsh}/bin/sh";
@@ -198,6 +206,10 @@ in
           # ~/bin if it exists overrides other bin directories.
           export PATH="$HOME/bin:$PATH"
         ''}
+
+        ${optionalString cfg.localBinInPath ''
+          export PATH="$HOME/.local/bin:$PATH"
+        ''}
       '';
 
     system.activationScripts.binsh = stringAfter [ "stdio" ]
diff --git a/nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-base.nix b/nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-base.nix
index 6c7ea293e8ac..aecb65b8c576 100644
--- a/nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-base.nix
+++ b/nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-base.nix
@@ -30,5 +30,16 @@ with lib;
   # Add Memtest86+ to the CD.
   boot.loader.grub.memtest86.enable = true;
 
+  boot.postBootCommands = ''
+    for o in $(</proc/cmdline); do
+      case "$o" in
+        live.nixos.passwd=*)
+          set -- $(IFS==; echo $o)
+          echo "nixos:$2" | ${pkgs.shadow}/bin/chpasswd
+          ;;
+      esac
+    done
+  '';
+
   system.stateVersion = mkDefault "18.03";
 }
diff --git a/nixpkgs/nixos/modules/installer/tools/tools.nix b/nixpkgs/nixos/modules/installer/tools/tools.nix
index cb2dbf6c8591..1dc0578daca6 100644
--- a/nixpkgs/nixos/modules/installer/tools/tools.nix
+++ b/nixpkgs/nixos/modules/installer/tools/tools.nix
@@ -40,7 +40,7 @@ let
   };
 
   nixos-option =
-    if lib.versionAtLeast (lib.getVersion pkgs.nix) "2.4pre"
+    if lib.versionAtLeast (lib.getVersion config.nix.package) "2.4pre"
     then null
     else pkgs.callPackage ./nixos-option { };
 
diff --git a/nixpkgs/nixos/modules/module-list.nix b/nixpkgs/nixos/modules/module-list.nix
index 0eeea81967f3..9ea1c3fb62e1 100644
--- a/nixpkgs/nixos/modules/module-list.nix
+++ b/nixpkgs/nixos/modules/module-list.nix
@@ -138,6 +138,7 @@
   ./programs/file-roller.nix
   ./programs/firejail.nix
   ./programs/fish.nix
+  ./programs/flashrom.nix
   ./programs/flexoptix-app.nix
   ./programs/freetds.nix
   ./programs/fuse.nix
@@ -259,6 +260,7 @@
   ./services/backup/bacula.nix
   ./services/backup/borgbackup.nix
   ./services/backup/borgmatic.nix
+  ./services/backup/btrbk.nix
   ./services/backup/duplicati.nix
   ./services/backup/duplicity.nix
   ./services/backup/mysql-backup.nix
@@ -875,7 +877,6 @@
   ./services/search/hound.nix
   ./services/search/kibana.nix
   ./services/search/solr.nix
-  ./services/security/bitwarden_rs/default.nix
   ./services/security/certmgr.nix
   ./services/security/cfssl.nix
   ./services/security/clamav.nix
@@ -901,6 +902,7 @@
   ./services/security/torsocks.nix
   ./services/security/usbguard.nix
   ./services/security/vault.nix
+  ./services/security/vaultwarden/default.nix
   ./services/security/yubikey-agent.nix
   ./services/system/cloud-init.nix
   ./services/system/dbus.nix
diff --git a/nixpkgs/nixos/modules/programs/flashrom.nix b/nixpkgs/nixos/modules/programs/flashrom.nix
new file mode 100644
index 000000000000..f026c2e31cda
--- /dev/null
+++ b/nixpkgs/nixos/modules/programs/flashrom.nix
@@ -0,0 +1,26 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.programs.flashrom;
+in
+{
+  options.programs.flashrom = {
+    enable = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Installs flashrom and configures udev rules for programmers
+        used by flashrom. Grants access to users in the "flashrom"
+        group.
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    services.udev.packages = [ pkgs.flashrom ];
+    environment.systemPackages = [ pkgs.flashrom ];
+    users.groups.flashrom = { };
+  };
+}
diff --git a/nixpkgs/nixos/modules/programs/hamster.nix b/nixpkgs/nixos/modules/programs/hamster.nix
index b2f4a82b260e..0bb56ad7ff36 100644
--- a/nixpkgs/nixos/modules/programs/hamster.nix
+++ b/nixpkgs/nixos/modules/programs/hamster.nix
@@ -6,7 +6,7 @@ with lib;
   meta.maintainers = pkgs.hamster.meta.maintainers;
 
   options.programs.hamster.enable =
-    mkEnableOption "Whether to enable hamster time tracking.";
+    mkEnableOption "hamster, a time tracking program";
 
   config = lib.mkIf config.programs.hamster.enable {
     environment.systemPackages = [ pkgs.hamster ];
diff --git a/nixpkgs/nixos/modules/programs/ssmtp.nix b/nixpkgs/nixos/modules/programs/ssmtp.nix
index 8039763faccc..8b500f0383f4 100644
--- a/nixpkgs/nixos/modules/programs/ssmtp.nix
+++ b/nixpkgs/nixos/modules/programs/ssmtp.nix
@@ -124,7 +124,8 @@ in
         example = "/run/keys/ssmtp-authpass";
         description = ''
           Path to a file that contains the password used for SMTP auth. The file
-          should not contain a trailing newline, if the password does not contain one.
+          should not contain a trailing newline, if the password does not contain one
+          (e.g. use <command>echo -n "password" > file</command>).
           This file should be readable by the users that need to execute ssmtp.
         '';
       };
diff --git a/nixpkgs/nixos/modules/programs/zsh/zsh.nix b/nixpkgs/nixos/modules/programs/zsh/zsh.nix
index 049a315c7622..48638fda28da 100644
--- a/nixpkgs/nixos/modules/programs/zsh/zsh.nix
+++ b/nixpkgs/nixos/modules/programs/zsh/zsh.nix
@@ -91,7 +91,7 @@ in
           # before setting your PS1 and etc. Otherwise this will likely to interact with
           # your ~/.zshrc configuration in unexpected ways as the default prompt sets
           # a lot of different prompt variables.
-          autoload -U promptinit && promptinit && prompt walters && setopt prompt_sp
+          autoload -U promptinit && promptinit && prompt suse && setopt prompt_sp
         '';
         description = ''
           Shell script code used to initialise the zsh prompt.
diff --git a/nixpkgs/nixos/modules/security/acme.nix b/nixpkgs/nixos/modules/security/acme.nix
index c0250171109f..22bf34198a30 100644
--- a/nixpkgs/nixos/modules/security/acme.nix
+++ b/nixpkgs/nixos/modules/security/acme.nix
@@ -46,6 +46,7 @@ let
     serviceConfig = commonServiceConfig // {
       StateDirectory = "acme/.minica";
       BindPaths = "/var/lib/acme/.minica:/tmp/ca";
+      UMask = 0077;
     };
 
     # Working directory will be /tmp
@@ -54,8 +55,6 @@ let
         --ca-key ca/key.pem \
         --ca-cert ca/cert.pem \
         --domains selfsigned.local
-
-      chmod 600 ca/*
     '';
   };
 
@@ -196,6 +195,7 @@ let
 
       serviceConfig = commonServiceConfig // {
         Group = data.group;
+        UMask = 0027;
 
         StateDirectory = "acme/${cert}";
 
@@ -220,10 +220,12 @@ let
         cat cert.pem chain.pem > fullchain.pem
         cat key.pem fullchain.pem > full.pem
 
-        chmod 640 *
-
         # Group might change between runs, re-apply it
         chown 'acme:${data.group}' *
+
+        # Default permissions make the files unreadable by group + anon
+        # Need to be readable by group
+        chmod 640 *
       '';
     };
 
@@ -340,8 +342,6 @@ let
         fi
 
         mv domainhash.txt certificates/
-        chmod 640 certificates/*
-        chmod -R u=rwX,g=,o= accounts/*
 
         # Group might change between runs, re-apply it
         chown 'acme:${data.group}' certificates/*
@@ -357,6 +357,10 @@ let
           ln -sf fullchain.pem out/cert.pem
           cat out/key.pem out/fullchain.pem > out/full.pem
         fi
+
+        # By default group will have no access to the cert files.
+        # This chmod will fix that.
+        chmod 640 out/*
       '';
     };
   };
diff --git a/nixpkgs/nixos/modules/security/systemd-confinement.nix b/nixpkgs/nixos/modules/security/systemd-confinement.nix
index afb81a2b56be..0a09a755e93c 100644
--- a/nixpkgs/nixos/modules/security/systemd-confinement.nix
+++ b/nixpkgs/nixos/modules/security/systemd-confinement.nix
@@ -105,7 +105,7 @@ in {
         wantsAPIVFS = lib.mkDefault (config.confinement.mode == "full-apivfs");
       in lib.mkIf config.confinement.enable {
         serviceConfig = {
-          RootDirectory = pkgs.runCommand rootName {} "mkdir \"$out\"";
+          RootDirectory = "/var/empty";
           TemporaryFileSystem = "/";
           PrivateMounts = lib.mkDefault true;
 
diff --git a/nixpkgs/nixos/modules/services/amqp/rabbitmq.nix b/nixpkgs/nixos/modules/services/amqp/rabbitmq.nix
index 646708e01c48..fc8a1bc3c23c 100644
--- a/nixpkgs/nixos/modules/services/amqp/rabbitmq.nix
+++ b/nixpkgs/nixos/modules/services/amqp/rabbitmq.nix
@@ -57,7 +57,7 @@ in {
         description = ''
           Port on which RabbitMQ will listen for AMQP connections.
         '';
-        type = types.int;
+        type = types.port;
       };
 
       dataDir = mkOption {
diff --git a/nixpkgs/nixos/modules/services/audio/slimserver.nix b/nixpkgs/nixos/modules/services/audio/slimserver.nix
index 8f94a2b49404..21632919699c 100644
--- a/nixpkgs/nixos/modules/services/audio/slimserver.nix
+++ b/nixpkgs/nixos/modules/services/audio/slimserver.nix
@@ -63,6 +63,7 @@ in {
         description = "Slimserver daemon user";
         home = cfg.dataDir;
         group = "slimserver";
+        isSystemUser = true;
       };
       groups.slimserver = {};
     };
diff --git a/nixpkgs/nixos/modules/services/backup/btrbk.nix b/nixpkgs/nixos/modules/services/backup/btrbk.nix
new file mode 100644
index 000000000000..a8ff71f609a5
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/backup/btrbk.nix
@@ -0,0 +1,220 @@
+{ config, pkgs, lib, ... }:
+let
+  cfg = config.services.btrbk;
+  sshEnabled = cfg.sshAccess != [ ];
+  serviceEnabled = cfg.instances != { };
+  attr2Lines = attr:
+    let
+      pairs = lib.attrsets.mapAttrsToList (name: value: { inherit name value; }) attr;
+      isSubsection = value:
+        if builtins.isAttrs value then true
+        else if builtins.isString value then false
+        else throw "invalid type in btrbk config ${builtins.typeOf value}";
+      sortedPairs = lib.lists.partition (x: isSubsection x.value) pairs;
+    in
+    lib.flatten (
+      # non subsections go first
+      (
+        map (pair: [ "${pair.name} ${pair.value}" ]) sortedPairs.wrong
+      )
+      ++ # subsections go last
+      (
+        map
+          (
+            pair:
+            lib.mapAttrsToList
+              (
+                childname: value:
+                  [ "${pair.name} ${childname}" ] ++ (map (x: " " + x) (attr2Lines value))
+              )
+              pair.value
+          )
+          sortedPairs.right
+      )
+    )
+  ;
+  addDefaults = settings: { backend = "btrfs-progs-sudo"; } // settings;
+  mkConfigFile = settings: lib.concatStringsSep "\n" (attr2Lines (addDefaults settings));
+  mkTestedConfigFile = name: settings:
+    let
+      configFile = pkgs.writeText "btrbk-${name}.conf" (mkConfigFile settings);
+    in
+    pkgs.runCommand "btrbk-${name}-tested.conf" { } ''
+      mkdir foo
+      cp ${configFile} $out
+      if (set +o pipefail; ${pkgs.btrbk}/bin/btrbk -c $out ls foo 2>&1 | grep $out);
+      then
+      echo btrbk configuration is invalid
+      cat $out
+      exit 1
+      fi;
+    '';
+in
+{
+  options = {
+    services.btrbk = {
+      extraPackages = lib.mkOption {
+        description = "Extra packages for btrbk, like compression utilities for <literal>stream_compress</literal>";
+        type = lib.types.listOf lib.types.package;
+        default = [ ];
+        example = lib.literalExample "[ pkgs.xz ]";
+      };
+      niceness = lib.mkOption {
+        description = "Niceness for local instances of btrbk. Also applies to remote ones connecting via ssh when positive.";
+        type = lib.types.ints.between (-20) 19;
+        default = 10;
+      };
+      ioSchedulingClass = lib.mkOption {
+        description = "IO scheduling class for btrbk (see ionice(1) for a quick description). Applies to local instances, and remote ones connecting by ssh if set to idle.";
+        type = lib.types.enum [ "idle" "best-effort" "realtime" ];
+        default = "best-effort";
+      };
+      instances = lib.mkOption {
+        description = "Set of btrbk instances. The instance named <literal>btrbk</literal> is the default one.";
+        type = with lib.types;
+          attrsOf (
+            submodule {
+              options = {
+                onCalendar = lib.mkOption {
+                  type = lib.types.str;
+                  default = "daily";
+                  description = "How often this btrbk instance is started. See systemd.time(7) for more information about the format.";
+                };
+                settings = lib.mkOption {
+                  type = let t = lib.types.attrsOf (lib.types.either lib.types.str (t // { description = "instances of this type recursively"; })); in t;
+                  default = { };
+                  example = {
+                    snapshot_preserve_min = "2d";
+                    snapshot_preserve = "14d";
+                    volume = {
+                      "/mnt/btr_pool" = {
+                        target = "/mnt/btr_backup/mylaptop";
+                        subvolume = {
+                          "rootfs" = { };
+                          "home" = { snapshot_create = "always"; };
+                        };
+                      };
+                    };
+                  };
+                  description = "configuration options for btrbk. Nested attrsets translate to subsections.";
+                };
+              };
+            }
+          );
+        default = { };
+      };
+      sshAccess = lib.mkOption {
+        description = "SSH keys that should be able to make or push snapshots on this system remotely with btrbk";
+        type = with lib.types; listOf (
+          submodule {
+            options = {
+              key = lib.mkOption {
+                type = str;
+                description = "SSH public key allowed to login as user <literal>btrbk</literal> to run remote backups.";
+              };
+              roles = lib.mkOption {
+                type = listOf (enum [ "info" "source" "target" "delete" "snapshot" "send" "receive" ]);
+                example = [ "source" "info" "send" ];
+                description = "What actions can be performed with this SSH key. See ssh_filter_btrbk(1) for details";
+              };
+            };
+          }
+        );
+        default = [ ];
+      };
+    };
+
+  };
+  config = lib.mkIf (sshEnabled || serviceEnabled) {
+    environment.systemPackages = [ pkgs.btrbk ] ++ cfg.extraPackages;
+    security.sudo.extraRules = [
+      {
+        users = [ "btrbk" ];
+        commands = [
+          { command = "${pkgs.btrfs-progs}/bin/btrfs"; options = [ "NOPASSWD" ]; }
+          { command = "${pkgs.coreutils}/bin/mkdir"; options = [ "NOPASSWD" ]; }
+          { command = "${pkgs.coreutils}/bin/readlink"; options = [ "NOPASSWD" ]; }
+          # for ssh, they are not the same than the one hard coded in ${pkgs.btrbk}
+          { command = "/run/current-system/bin/btrfs"; options = [ "NOPASSWD" ]; }
+          { command = "/run/current-system/sw/bin/mkdir"; options = [ "NOPASSWD" ]; }
+          { command = "/run/current-system/sw/bin/readlink"; options = [ "NOPASSWD" ]; }
+        ];
+      }
+    ];
+    users.users.btrbk = {
+      isSystemUser = true;
+      # ssh needs a home directory
+      home = "/var/lib/btrbk";
+      createHome = true;
+      shell = "${pkgs.bash}/bin/bash";
+      group = "btrbk";
+      openssh.authorizedKeys.keys = map
+        (
+          v:
+          let
+            options = lib.concatMapStringsSep " " (x: "--" + x) v.roles;
+            ioniceClass = {
+              "idle" = 3;
+              "best-effort" = 2;
+              "realtime" = 1;
+            }.${cfg.ioSchedulingClass};
+          in
+          ''command="${pkgs.util-linux}/bin/ionice -t -c ${toString ioniceClass} ${lib.optionalString (cfg.niceness >= 1) "${pkgs.coreutils}/bin/nice -n ${toString cfg.niceness}"} ${pkgs.btrbk}/share/btrbk/scripts/ssh_filter_btrbk.sh --sudo ${options}" ${v.key}''
+        )
+        cfg.sshAccess;
+    };
+    users.groups.btrbk = { };
+    systemd.tmpfiles.rules = [
+      "d /var/lib/btrbk 0750 btrbk btrbk"
+      "d /var/lib/btrbk/.ssh 0700 btrbk btrbk"
+      "f /var/lib/btrbk/.ssh/config 0700 btrbk btrbk - StrictHostKeyChecking=accept-new"
+    ];
+    environment.etc = lib.mapAttrs'
+      (
+        name: instance: {
+          name = "btrbk/${name}.conf";
+          value.source = mkTestedConfigFile name instance.settings;
+        }
+      )
+      cfg.instances;
+    systemd.services = lib.mapAttrs'
+      (
+        name: _: {
+          name = "btrbk-${name}";
+          value = {
+            description = "Takes BTRFS snapshots and maintains retention policies.";
+            unitConfig.Documentation = "man:btrbk(1)";
+            path = [ "/run/wrappers" ] ++ cfg.extraPackages;
+            serviceConfig = {
+              User = "btrbk";
+              Group = "btrbk";
+              Type = "oneshot";
+              ExecStart = "${pkgs.btrbk}/bin/btrbk -c /etc/btrbk/${name}.conf run";
+              Nice = cfg.niceness;
+              IOSchedulingClass = cfg.ioSchedulingClass;
+              StateDirectory = "btrbk";
+            };
+          };
+        }
+      )
+      cfg.instances;
+
+    systemd.timers = lib.mapAttrs'
+      (
+        name: instance: {
+          name = "btrbk-${name}";
+          value = {
+            description = "Timer to take BTRFS snapshots and maintain retention policies.";
+            wantedBy = [ "timers.target" ];
+            timerConfig = {
+              OnCalendar = instance.onCalendar;
+              AccuracySec = "10min";
+              Persistent = true;
+            };
+          };
+        }
+      )
+      cfg.instances;
+  };
+
+}
diff --git a/nixpkgs/nixos/modules/services/backup/sanoid.nix b/nixpkgs/nixos/modules/services/backup/sanoid.nix
index 0472fb4ba1e7..be44a43b6d3f 100644
--- a/nixpkgs/nixos/modules/services/backup/sanoid.nix
+++ b/nixpkgs/nixos/modules/services/backup/sanoid.nix
@@ -10,74 +10,51 @@ let
       description = "dataset/template options";
     };
 
-  # Default values from https://github.com/jimsalterjrs/sanoid/blob/master/sanoid.defaults.conf
-
   commonOptions = {
     hourly = mkOption {
       description = "Number of hourly snapshots.";
-      type = types.ints.unsigned;
-      default = 48;
+      type = with types; nullOr ints.unsigned;
+      default = null;
     };
 
     daily = mkOption {
       description = "Number of daily snapshots.";
-      type = types.ints.unsigned;
-      default = 90;
+      type = with types; nullOr ints.unsigned;
+      default = null;
     };
 
     monthly = mkOption {
       description = "Number of monthly snapshots.";
-      type = types.ints.unsigned;
-      default = 6;
+      type = with types; nullOr ints.unsigned;
+      default = null;
     };
 
     yearly = mkOption {
       description = "Number of yearly snapshots.";
-      type = types.ints.unsigned;
-      default = 0;
+      type = with types; nullOr ints.unsigned;
+      default = null;
     };
 
     autoprune = mkOption {
       description = "Whether to automatically prune old snapshots.";
-      type = types.bool;
-      default = true;
+      type = with types; nullOr bool;
+      default = null;
     };
 
     autosnap = mkOption {
       description = "Whether to automatically take snapshots.";
-      type = types.bool;
-      default = true;
-    };
-
-    settings = mkOption {
-      description = ''
-        Free-form settings for this template/dataset. See
-        <link xlink:href="https://github.com/jimsalterjrs/sanoid/blob/master/sanoid.defaults.conf"/>
-        for allowed values.
-      '';
-      type = datasetSettingsType;
-    };
-  };
-
-  commonConfig = config: {
-    settings = {
-      hourly = mkDefault config.hourly;
-      daily = mkDefault config.daily;
-      monthly = mkDefault config.monthly;
-      yearly = mkDefault config.yearly;
-      autoprune = mkDefault config.autoprune;
-      autosnap = mkDefault config.autosnap;
+      type = with types; nullOr bool;
+      default = null;
     };
   };
 
-  datasetOptions = {
-    useTemplate = mkOption {
+  datasetOptions = rec {
+    use_template = mkOption {
       description = "Names of the templates to use for this dataset.";
-      type = (types.listOf (types.enum (attrNames cfg.templates))) // {
-        description = "list of template names";
-      };
+      type = types.listOf (types.enum (attrNames cfg.templates));
       default = [];
     };
+    useTemplate = use_template;
 
     recursive = mkOption {
       description = "Whether to recursively snapshot dataset children.";
@@ -85,19 +62,12 @@ let
       default = false;
     };
 
-    processChildrenOnly = mkOption {
+    process_children_only = mkOption {
       description = "Whether to only snapshot child datasets if recursing.";
       type = types.bool;
       default = false;
     };
-  };
-
-  datasetConfig = config: {
-    settings = {
-      use_template = mkDefault config.useTemplate;
-      recursive = mkDefault config.recursive;
-      process_children_only = mkDefault config.processChildrenOnly;
-    };
+    processChildrenOnly = process_children_only;
   };
 
   # Extract pool names from configured datasets
@@ -109,11 +79,11 @@ let
       else generators.mkValueStringDefault {} v;
 
     mkKeyValue = k: v: if v == null then ""
+      else if k == "processChildrenOnly" then ""
+      else if k == "useTemplate" then ""
       else generators.mkKeyValueDefault { inherit mkValueString; } "=" k v;
   in generators.toINI { inherit mkKeyValue; } cfg.settings;
 
-  configDir = pkgs.writeTextDir "sanoid.conf" configFile;
-
 in {
 
     # Interface
@@ -135,19 +105,21 @@ in {
       };
 
       datasets = mkOption {
-        type = types.attrsOf (types.submodule ({ config, ... }: {
+        type = types.attrsOf (types.submodule ({config, options, ...}: {
+          freeformType = datasetSettingsType;
           options = commonOptions // datasetOptions;
-          config = mkMerge [ (commonConfig config) (datasetConfig config) ];
+          config.use_template = mkAliasDefinitions (options.useTemplate or {});
+          config.process_children_only = mkAliasDefinitions (options.processChildrenOnly or {});
         }));
         default = {};
         description = "Datasets to snapshot.";
       };
 
       templates = mkOption {
-        type = types.attrsOf (types.submodule ({ config, ... }: {
+        type = types.attrsOf (types.submodule {
+          freeformType = datasetSettingsType;
           options = commonOptions;
-          config = commonConfig config;
-        }));
+        });
         default = {};
         description = "Templates for datasets.";
       };
@@ -177,8 +149,8 @@ in {
 
     config = mkIf cfg.enable {
       services.sanoid.settings = mkMerge [
-        (mapAttrs' (d: v: nameValuePair ("template_" + d) v.settings) cfg.templates)
-        (mapAttrs (d: v: v.settings) cfg.datasets)
+        (mapAttrs' (d: v: nameValuePair ("template_" + d) v) cfg.templates)
+        (mapAttrs (d: v: v) cfg.datasets)
       ];
 
       systemd.services.sanoid = {
@@ -191,7 +163,7 @@ in {
           ExecStart = lib.escapeShellArgs ([
             "${pkgs.sanoid}/bin/sanoid"
             "--cron"
-            "--configdir" configDir
+            "--configdir" (pkgs.writeTextDir "sanoid.conf" configFile)
           ] ++ cfg.extraArgs);
           ExecStopPost = map (pool: lib.escapeShellArgs [
             "+/run/booted-system/sw/bin/zfs" "unallow" "sanoid" pool
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/pki.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/pki.nix
index 8de6a3ba0d80..d9311d3e3a04 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/pki.nix
+++ b/nixpkgs/nixos/modules/services/cluster/kubernetes/pki.nix
@@ -189,6 +189,7 @@ in
         # manually paste it in place. Just symlink.
         # otherwise, create the target file, ready for users to insert the token
 
+        mkdir -p $(dirname ${certmgrAPITokenPath})
         if [ -f "${cfsslAPITokenPath}" ]; then
           ln -fs "${cfsslAPITokenPath}" "${certmgrAPITokenPath}"
         else
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/proxy.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/proxy.nix
index 7aa449f9aa21..42729f54643b 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/proxy.nix
+++ b/nixpkgs/nixos/modules/services/cluster/kubernetes/proxy.nix
@@ -59,7 +59,7 @@ in
       description = "Kubernetes Proxy Service";
       wantedBy = [ "kubernetes.target" ];
       after = [ "kube-apiserver.service" ];
-      path = with pkgs; [ iptables conntrack_tools ];
+      path = with pkgs; [ iptables conntrack-tools ];
       serviceConfig = {
         Slice = "kubernetes.slice";
         ExecStart = ''${top.package}/bin/kube-proxy \
diff --git a/nixpkgs/nixos/modules/services/continuous-integration/jenkins/default.nix b/nixpkgs/nixos/modules/services/continuous-integration/jenkins/default.nix
index cdc3b4b5c58f..889688a26853 100644
--- a/nixpkgs/nixos/modules/services/continuous-integration/jenkins/default.nix
+++ b/nixpkgs/nixos/modules/services/continuous-integration/jenkins/default.nix
@@ -2,6 +2,7 @@
 with lib;
 let
   cfg = config.services.jenkins;
+  jenkinsUrl = "http://${cfg.listenAddress}:${toString cfg.port}${cfg.prefix}";
 in {
   options = {
     services.jenkins = {
@@ -141,14 +142,34 @@ in {
           Additional command line arguments to pass to the Java run time (as opposed to Jenkins).
         '';
       };
+
+      withCLI = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to make the CLI available.
+
+          More info about the CLI available at
+          <link xlink:href="https://www.jenkins.io/doc/book/managing/cli">
+          https://www.jenkins.io/doc/book/managing/cli</link> .
+        '';
+      };
     };
   };
 
   config = mkIf cfg.enable {
-    # server references the dejavu fonts
-    environment.systemPackages = [
-      pkgs.dejavu_fonts
-    ];
+    environment = {
+      # server references the dejavu fonts
+      systemPackages = [
+        pkgs.dejavu_fonts
+      ] ++ optional cfg.withCLI cfg.package;
+
+      variables = {}
+        // optionalAttrs cfg.withCLI {
+          # Make it more convenient to use the `jenkins-cli`.
+          JENKINS_URL = jenkinsUrl;
+        };
+    };
 
     users.groups = optionalAttrs (cfg.group == "jenkins") {
       jenkins.gid = config.ids.gids.jenkins;
@@ -215,7 +236,7 @@ in {
       '';
 
       postStart = ''
-        until [[ $(${pkgs.curl.bin}/bin/curl -L -s --head -w '\n%{http_code}' http://${cfg.listenAddress}:${toString cfg.port}${cfg.prefix} | tail -n1) =~ ^(200|403)$ ]]; do
+        until [[ $(${pkgs.curl.bin}/bin/curl -L -s --head -w '\n%{http_code}' ${jenkinsUrl} | tail -n1) =~ ^(200|403)$ ]]; do
           sleep 1
         done
       '';
diff --git a/nixpkgs/nixos/modules/services/databases/mysql.nix b/nixpkgs/nixos/modules/services/databases/mysql.nix
index 2d8d613ed88e..b801b5cce635 100644
--- a/nixpkgs/nixos/modules/services/databases/mysql.nix
+++ b/nixpkgs/nixos/modules/services/databases/mysql.nix
@@ -48,7 +48,7 @@ in
       };
 
       port = mkOption {
-        type = types.int;
+        type = types.port;
         default = 3306;
         description = "Port of MySQL.";
       };
diff --git a/nixpkgs/nixos/modules/services/desktops/pipewire/bluez-hardware.conf.json b/nixpkgs/nixos/modules/services/desktops/pipewire/bluez-hardware.conf.json
new file mode 100644
index 000000000000..7c527b292158
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/desktops/pipewire/bluez-hardware.conf.json
@@ -0,0 +1,197 @@
+{
+  "bluez5.features.device": [
+    {
+      "name": "Air 1 Plus",
+      "no-features": [
+        "hw-volume-mic"
+      ]
+    },
+    {
+      "name": "AirPods",
+      "no-features": [
+        "msbc-alt1",
+        "msbc-alt1-rtl"
+      ]
+    },
+    {
+      "name": "AirPods Pro",
+      "no-features": [
+        "msbc-alt1",
+        "msbc-alt1-rtl"
+      ]
+    },
+    {
+      "name": "AXLOIE Goin",
+      "no-features": [
+        "msbc-alt1",
+        "msbc-alt1-rtl"
+      ]
+    },
+    {
+      "name": "JBL Endurance RUN BT",
+      "no-features": [
+        "msbc-alt1",
+        "msbc-alt1-rtl",
+        "sbc-xq"
+      ]
+    },
+    {
+      "name": "JBL LIVE650BTNC"
+    },
+    {
+      "name": "Soundcore Life P2-L",
+      "no-features": [
+        "msbc-alt1",
+        "msbc-alt1-rtl"
+      ]
+    },
+    {
+      "name": "Urbanista Stockholm Plus",
+      "no-features": [
+        "msbc-alt1",
+        "msbc-alt1-rtl"
+      ]
+    },
+    {
+      "address": "~^94:16:25:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^9c:64:8b:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^a0:e9:db:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^0c:a6:94:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^00:14:02:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^44:5e:f3:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^d4:9c:28:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^00:18:6b:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^b8:ad:3e:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^a0:e9:db:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^00:24:1c:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^00:11:b1:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^a4:15:66:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^00:14:f1:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^00:26:7e:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^90:03:b7:",
+      "no-features": [
+        "hw-volume"
+      ]
+    }
+  ],
+  "bluez5.features.adapter": [
+    {
+      "bus-type": "usb",
+      "vendor-id": "usb:0bda"
+    },
+    {
+      "bus-type": "usb",
+      "no-features": [
+        "msbc-alt1-rtl"
+      ]
+    },
+    {
+      "no-features": [
+        "msbc-alt1-rtl"
+      ]
+    }
+  ],
+  "bluez5.features.kernel": [
+    {
+      "sysname": "Linux",
+      "release": "~^[0-4]\\.",
+      "no-features": [
+        "msbc-alt1",
+        "msbc-alt1-rtl"
+      ]
+    },
+    {
+      "sysname": "Linux",
+      "release": "~^5\\.[1-7]\\.",
+      "no-features": [
+        "msbc-alt1",
+        "msbc-alt1-rtl"
+      ]
+    },
+    {
+      "sysname": "Linux",
+      "release": "~^5\\.(8|9|10)\\.",
+      "no-features": [
+        "msbc-alt1"
+      ]
+    },
+    {
+      "no-features": []
+    }
+  ]
+}
diff --git a/nixpkgs/nixos/modules/services/desktops/pipewire/jack.conf.json b/nixpkgs/nixos/modules/services/desktops/pipewire/jack.conf.json
index a6bd34917851..e36e04fffcf2 100644
--- a/nixpkgs/nixos/modules/services/desktops/pipewire/jack.conf.json
+++ b/nixpkgs/nixos/modules/services/desktops/pipewire/jack.conf.json
@@ -7,7 +7,7 @@
   },
   "context.modules": [
     {
-      "name": "libpipewire-module-rtkit",
+      "name": "libpipewire-module-rt",
       "args": {},
       "flags": [
         "ifexists",
diff --git a/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix b/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
index 17a2d49bb1f3..41ab995e3292 100644
--- a/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
+++ b/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
@@ -15,6 +15,7 @@ let
   defaults = {
     alsa-monitor = (builtins.fromJSON (builtins.readFile ./alsa-monitor.conf.json));
     bluez-monitor = (builtins.fromJSON (builtins.readFile ./bluez-monitor.conf.json));
+    bluez-hardware = (builtins.fromJSON (builtins.readFile ./bluez-hardware.conf.json));
     media-session = (builtins.fromJSON (builtins.readFile ./media-session.conf.json));
     v4l2-monitor = (builtins.fromJSON (builtins.readFile ./v4l2-monitor.conf.json));
   };
@@ -22,6 +23,7 @@ let
   configs = {
     alsa-monitor = recursiveUpdate defaults.alsa-monitor cfg.config.alsa-monitor;
     bluez-monitor = recursiveUpdate defaults.bluez-monitor cfg.config.bluez-monitor;
+    bluez-hardware = defaults.bluez-hardware;
     media-session = recursiveUpdate defaults.media-session cfg.config.media-session;
     v4l2-monitor = recursiveUpdate defaults.v4l2-monitor cfg.config.v4l2-monitor;
   };
@@ -120,6 +122,10 @@ in {
       mkIf config.services.pipewire.pulse.enable {
         source = json.generate "bluez-monitor.conf" configs.bluez-monitor;
       };
+    environment.etc."pipewire/media-session.d/bluez-hardware.conf" =
+      mkIf config.services.pipewire.pulse.enable {
+        source = json.generate "bluez-hardware.conf" configs.bluez-hardware;
+      };
 
     environment.etc."pipewire/media-session.d/with-jack" =
       mkIf config.services.pipewire.jack.enable {
diff --git a/nixpkgs/nixos/modules/services/editors/infinoted.nix b/nixpkgs/nixos/modules/services/editors/infinoted.nix
index 10d868b7f161..3eb0753194dd 100644
--- a/nixpkgs/nixos/modules/services/editors/infinoted.nix
+++ b/nixpkgs/nixos/modules/services/editors/infinoted.nix
@@ -51,7 +51,7 @@ in {
     };
 
     port = mkOption {
-      type = types.int;
+      type = types.port;
       default = 6523;
       description = ''
         Port to listen on
diff --git a/nixpkgs/nixos/modules/services/misc/docker-registry.nix b/nixpkgs/nixos/modules/services/misc/docker-registry.nix
index 1c2e2cc53590..e212f581c28a 100644
--- a/nixpkgs/nixos/modules/services/misc/docker-registry.nix
+++ b/nixpkgs/nixos/modules/services/misc/docker-registry.nix
@@ -58,7 +58,7 @@ in {
     port = mkOption {
       description = "Docker registry port to bind to.";
       default = 5000;
-      type = types.int;
+      type = types.port;
     };
 
     storagePath = mkOption {
diff --git a/nixpkgs/nixos/modules/services/misc/geoipupdate.nix b/nixpkgs/nixos/modules/services/misc/geoipupdate.nix
index 5d87be928d98..3211d4d88e4d 100644
--- a/nixpkgs/nixos/modules/services/misc/geoipupdate.nix
+++ b/nixpkgs/nixos/modules/services/misc/geoipupdate.nix
@@ -99,9 +99,22 @@ in
       LockFile = "/run/geoipupdate/.lock";
     };
 
+    systemd.services.geoipupdate-create-db-dir = {
+      serviceConfig.Type = "oneshot";
+      script = ''
+        mkdir -p ${cfg.settings.DatabaseDirectory}
+        chmod 0755 ${cfg.settings.DatabaseDirectory}
+      '';
+    };
+
     systemd.services.geoipupdate = {
       description = "GeoIP Updater";
-      after = [ "network-online.target" "nss-lookup.target" ];
+      requires = [ "geoipupdate-create-db-dir.service" ];
+      after = [
+        "geoipupdate-create-db-dir.service"
+        "network-online.target"
+        "nss-lookup.target"
+      ];
       wants = [ "network-online.target" ];
       startAt = cfg.interval;
       serviceConfig = {
@@ -119,11 +132,9 @@ in
               };
             };
 
-            geoipupdateConf = pkgs.writeText "discourse.conf" (geoipupdateKeyValue cfg.settings);
+            geoipupdateConf = pkgs.writeText "geoipupdate.conf" (geoipupdateKeyValue cfg.settings);
 
             script = ''
-              mkdir -p "${cfg.settings.DatabaseDirectory}"
-              chmod 755 "${cfg.settings.DatabaseDirectory}"
               chown geoip "${cfg.settings.DatabaseDirectory}"
 
               cp ${geoipupdateConf} /run/geoipupdate/GeoIP.conf
@@ -139,7 +150,38 @@ in
         ReadWritePaths = cfg.settings.DatabaseDirectory;
         RuntimeDirectory = "geoipupdate";
         RuntimeDirectoryMode = 0700;
+        CapabilityBoundingSet = "";
+        PrivateDevices = true;
+        PrivateMounts = true;
+        PrivateUsers = true;
+        ProtectClock = true;
+        ProtectControlGroups = true;
+        ProtectHome = true;
+        ProtectHostname = true;
+        ProtectKernelLogs = true;
+        ProtectKernelModules = true;
+        ProtectKernelTunables = true;
+        ProtectProc = "invisible";
+        ProcSubset = "pid";
+        SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ];
+        RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
+        RestrictRealtime = true;
+        RestrictNamespaces = true;
+        MemoryDenyWriteExecute = true;
+        LockPersonality = true;
+        SystemCallArchitectures = "native";
+      };
+    };
+
+    systemd.timers.geoipupdate-initial-run = {
+      wantedBy = [ "timers.target" ];
+      unitConfig.ConditionPathExists = "!${cfg.settings.DatabaseDirectory}";
+      timerConfig = {
+        Unit = "geoipupdate.service";
+        OnActiveSec = 0;
       };
     };
   };
+
+  meta.maintainers = [ lib.maintainers.talyz ];
 }
diff --git a/nixpkgs/nixos/modules/services/misc/gitea.nix b/nixpkgs/nixos/modules/services/misc/gitea.nix
index 95369ff7ee48..b6c1ca3e61a9 100644
--- a/nixpkgs/nixos/modules/services/misc/gitea.nix
+++ b/nixpkgs/nixos/modules/services/misc/gitea.nix
@@ -82,7 +82,7 @@ in
         };
 
         port = mkOption {
-          type = types.int;
+          type = types.port;
           default = (if !usePostgresql then 3306 else pg.port);
           description = "Database host port.";
         };
diff --git a/nixpkgs/nixos/modules/services/misc/gitlab.nix b/nixpkgs/nixos/modules/services/misc/gitlab.nix
index 237c20e4b7f6..40e35ed1cd16 100644
--- a/nixpkgs/nixos/modules/services/misc/gitlab.nix
+++ b/nixpkgs/nixos/modules/services/misc/gitlab.nix
@@ -140,6 +140,14 @@ let
           port = 3807;
         };
       };
+      registry = lib.optionalAttrs cfg.registry.enable {
+        enabled = true;
+        host = cfg.registry.externalAddress;
+        port = cfg.registry.externalPort;
+        key = cfg.registry.keyFile;
+        api_url = "http://${config.services.dockerRegistry.listenAddress}:${toString config.services.dockerRegistry.port}/";
+        issuer = "gitlab-issuer";
+      };
       extra = {};
       uploads.storage_path = cfg.statePath;
     };
@@ -156,7 +164,7 @@ let
     prometheus_multiproc_dir = "/run/gitlab";
     RAILS_ENV = "production";
     MALLOC_ARENA_MAX = "2";
-  };
+  } // cfg.extraEnv;
 
   gitlab-rake = pkgs.stdenv.mkDerivation {
     name = "gitlab-rake";
@@ -277,6 +285,14 @@ in {
         '';
       };
 
+      extraEnv = mkOption {
+        type = types.attrsOf types.str;
+        default = {};
+        description = ''
+          Additional environment variables for the GitLab environment.
+        '';
+      };
+
       backup.startAt = mkOption {
         type = with types; either str (listOf str);
         default = [];
@@ -508,6 +524,58 @@ in {
         '';
       };
 
+      registry = {
+        enable = mkOption {
+          type = types.bool;
+          default = false;
+          description = "Enable GitLab container registry.";
+        };
+        host = mkOption {
+          type = types.str;
+          default = config.services.gitlab.host;
+          description = "GitLab container registry host name.";
+        };
+        port = mkOption {
+          type = types.int;
+          default = 4567;
+          description = "GitLab container registry port.";
+        };
+        certFile = mkOption {
+          type = types.path;
+          default = null;
+          description = "Path to GitLab container registry certificate.";
+        };
+        keyFile = mkOption {
+          type = types.path;
+          default = null;
+          description = "Path to GitLab container registry certificate-key.";
+        };
+        defaultForProjects = mkOption {
+          type = types.bool;
+          default = cfg.registry.enable;
+          description = "If GitLab container registry should be enabled by default for projects.";
+        };
+        issuer = mkOption {
+          type = types.str;
+          default = "gitlab-issuer";
+          description = "GitLab container registry issuer.";
+        };
+        serviceName = mkOption {
+          type = types.str;
+          default = "container_registry";
+          description = "GitLab container registry service name.";
+        };
+        externalAddress = mkOption {
+          type = types.str;
+          default = "";
+          description = "External address used to access registry from the internet";
+        };
+        externalPort = mkOption {
+          type = types.int;
+          description = "External port used to access registry from the internet";
+        };
+      };
+
       smtp = {
         enable = mkOption {
           type = types.bool;
@@ -905,6 +973,44 @@ in {
       };
     };
 
+    systemd.services.gitlab-registry-cert = optionalAttrs cfg.registry.enable {
+      path = with pkgs; [ openssl ];
+
+      script = ''
+        mkdir -p $(dirname ${cfg.registry.keyFile})
+        mkdir -p $(dirname ${cfg.registry.certFile})
+        openssl req -nodes -newkey rsa:4096 -keyout ${cfg.registry.keyFile} -out /tmp/registry-auth.csr -subj "/CN=${cfg.registry.issuer}"
+        openssl x509 -in /tmp/registry-auth.csr -out ${cfg.registry.certFile} -req -signkey ${cfg.registry.keyFile} -days 3650
+        chown ${cfg.user}:${cfg.group} $(dirname ${cfg.registry.keyFile})
+        chown ${cfg.user}:${cfg.group} $(dirname ${cfg.registry.certFile})
+        chown ${cfg.user}:${cfg.group} ${cfg.registry.keyFile}
+        chown ${cfg.user}:${cfg.group} ${cfg.registry.certFile}
+      '';
+
+      serviceConfig = {
+        ConditionPathExists = "!${cfg.registry.certFile}";
+      };
+    };
+
+    # Ensure Docker Registry launches after the certificate generation job
+    systemd.services.docker-registry = optionalAttrs cfg.registry.enable {
+      wants = [ "gitlab-registry-cert.service" ];
+    };
+
+    # Enable Docker Registry, if GitLab-Container Registry is enabled
+    services.dockerRegistry = optionalAttrs cfg.registry.enable {
+      enable = true;
+      enableDelete = true; # This must be true, otherwise GitLab won't manage it correctly
+      extraConfig = {
+        auth.token = {
+          realm = "http${if cfg.https == true then "s" else ""}://${cfg.host}/jwt/auth";
+          service = cfg.registry.serviceName;
+          issuer = cfg.registry.issuer;
+          rootcertbundle = cfg.registry.certFile;
+        };
+      };
+    };
+
     # Use postfix to send out mails.
     services.postfix.enable = mkDefault (cfg.smtp.enable && cfg.smtp.address == "localhost");
 
diff --git a/nixpkgs/nixos/modules/services/misc/gpsd.nix b/nixpkgs/nixos/modules/services/misc/gpsd.nix
index f954249942a8..fafea10daba7 100644
--- a/nixpkgs/nixos/modules/services/misc/gpsd.nix
+++ b/nixpkgs/nixos/modules/services/misc/gpsd.nix
@@ -62,7 +62,7 @@ in
       };
 
       port = mkOption {
-        type = types.int;
+        type = types.port;
         default = 2947;
         description = ''
           The port where to listen for TCP connections.
diff --git a/nixpkgs/nixos/modules/services/misc/leaps.nix b/nixpkgs/nixos/modules/services/misc/leaps.nix
index ef89d3e64d0c..f797218522c5 100644
--- a/nixpkgs/nixos/modules/services/misc/leaps.nix
+++ b/nixpkgs/nixos/modules/services/misc/leaps.nix
@@ -11,7 +11,7 @@ in
     services.leaps = {
       enable = mkEnableOption "leaps";
       port = mkOption {
-        type = types.int;
+        type = types.port;
         default = 8080;
         description = "A port where leaps listens for incoming http requests";
       };
diff --git a/nixpkgs/nixos/modules/services/misc/mwlib.nix b/nixpkgs/nixos/modules/services/misc/mwlib.nix
index 6b41b552a86d..8dd17c06c0b3 100644
--- a/nixpkgs/nixos/modules/services/misc/mwlib.nix
+++ b/nixpkgs/nixos/modules/services/misc/mwlib.nix
@@ -34,7 +34,7 @@ in
 
       port = mkOption {
         default = 8899;
-        type = types.int;
+        type = types.port;
         description = "Specify port to listen on.";
       }; # nserve.port
 
@@ -68,7 +68,7 @@ in
 
       port = mkOption {
         default = 14311;
-        type = types.int;
+        type = types.port;
         description = "Specify port to listen on.";
       }; # qserve.port
 
@@ -137,7 +137,7 @@ in
 
             port = mkOption {
               default = 8898;
-              type = types.int;
+              type = types.port;
               description = "Port to listen to when serving files from cache.";
             }; # nslave.http.port
 
diff --git a/nixpkgs/nixos/modules/services/misc/octoprint.nix b/nixpkgs/nixos/modules/services/misc/octoprint.nix
index 5a64946f9f63..c926d889b37a 100644
--- a/nixpkgs/nixos/modules/services/misc/octoprint.nix
+++ b/nixpkgs/nixos/modules/services/misc/octoprint.nix
@@ -40,7 +40,7 @@ in
       };
 
       port = mkOption {
-        type = types.int;
+        type = types.port;
         default = 5000;
         description = ''
           Port to bind OctoPrint to.
diff --git a/nixpkgs/nixos/modules/services/misc/paperless.nix b/nixpkgs/nixos/modules/services/misc/paperless.nix
index bfaf760fb836..43730b80eb2c 100644
--- a/nixpkgs/nixos/modules/services/misc/paperless.nix
+++ b/nixpkgs/nixos/modules/services/misc/paperless.nix
@@ -67,7 +67,7 @@ in
     };
 
     port = mkOption {
-      type = types.int;
+      type = types.port;
       default = 28981;
       description = "Server port to listen on.";
     };
diff --git a/nixpkgs/nixos/modules/services/misc/redmine.nix b/nixpkgs/nixos/modules/services/misc/redmine.nix
index e0055576d6f6..66c8e558fb04 100644
--- a/nixpkgs/nixos/modules/services/misc/redmine.nix
+++ b/nixpkgs/nixos/modules/services/misc/redmine.nix
@@ -71,7 +71,7 @@ in
       };
 
       port = mkOption {
-        type = types.int;
+        type = types.port;
         default = 3000;
         description = "Port on which Redmine is ran.";
       };
diff --git a/nixpkgs/nixos/modules/services/misc/subsonic.nix b/nixpkgs/nixos/modules/services/misc/subsonic.nix
index 152917d345cc..e17a98a5e1de 100644
--- a/nixpkgs/nixos/modules/services/misc/subsonic.nix
+++ b/nixpkgs/nixos/modules/services/misc/subsonic.nix
@@ -28,7 +28,7 @@ let cfg = config.services.subsonic; in {
       };
 
       port = mkOption {
-        type = types.int;
+        type = types.port;
         default = 4040;
         description = ''
           The port on which Subsonic will listen for
@@ -37,7 +37,7 @@ let cfg = config.services.subsonic; in {
       };
 
       httpsPort = mkOption {
-        type = types.int;
+        type = types.port;
         default = 0;
         description = ''
           The port on which Subsonic will listen for
diff --git a/nixpkgs/nixos/modules/services/monitoring/grafana.nix b/nixpkgs/nixos/modules/services/monitoring/grafana.nix
index c3e1f72945bf..e0b2624b6cac 100644
--- a/nixpkgs/nixos/modules/services/monitoring/grafana.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/grafana.nix
@@ -292,7 +292,7 @@ in {
     port = mkOption {
       description = "Listening port.";
       default = 3000;
-      type = types.int;
+      type = types.port;
     };
 
     socket = mkOption {
diff --git a/nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix b/nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix
index 6d8dfcce933c..2748571be1f7 100644
--- a/nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix
+++ b/nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix
@@ -231,9 +231,9 @@ in {
           }
         fi
       '' + optionalString cfg.autoMount ''
-        ipfs --local config Mounts.FuseAllowOther --json true
-        ipfs --local config Mounts.IPFS ${cfg.ipfsMountDir}
-        ipfs --local config Mounts.IPNS ${cfg.ipnsMountDir}
+        ipfs --offline config Mounts.FuseAllowOther --json true
+        ipfs --offline config Mounts.IPFS ${cfg.ipfsMountDir}
+        ipfs --offline config Mounts.IPNS ${cfg.ipnsMountDir}
       '' + concatStringsSep "\n" (collect
             isString
             (mapAttrsRecursive
@@ -243,7 +243,7 @@ in {
                 read value <<EOF
                 ${builtins.toJSON value}
                 EOF
-                ipfs --local config --json "${concatStringsSep "." path}" "$value"
+                ipfs --offline config --json "${concatStringsSep "." path}" "$value"
               '')
               ({ Addresses.API = cfg.apiAddress;
                  Addresses.Gateway = cfg.gatewayAddress;
diff --git a/nixpkgs/nixos/modules/services/networking/coturn.nix b/nixpkgs/nixos/modules/services/networking/coturn.nix
index 1bfbc307c59d..5f7d2893ae27 100644
--- a/nixpkgs/nixos/modules/services/networking/coturn.nix
+++ b/nixpkgs/nixos/modules/services/networking/coturn.nix
@@ -16,6 +16,7 @@ ${lib.optionalString cfg.lt-cred-mech "lt-cred-mech"}
 ${lib.optionalString cfg.no-auth "no-auth"}
 ${lib.optionalString cfg.use-auth-secret "use-auth-secret"}
 ${lib.optionalString (cfg.static-auth-secret != null) ("static-auth-secret=${cfg.static-auth-secret}")}
+${lib.optionalString (cfg.static-auth-secret-file != null) ("static-auth-secret=#static-auth-secret#")}
 realm=${cfg.realm}
 ${lib.optionalString cfg.no-udp "no-udp"}
 ${lib.optionalString cfg.no-tcp "no-tcp"}
@@ -182,6 +183,13 @@ in {
           by a separate program, so this is why that other mode is 'dynamic'.
         '';
       };
+      static-auth-secret-file = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        description = ''
+          Path to the file containing the static authentication secret.
+        '';
+      };
       realm = mkOption {
         type = types.str;
         default = config.networking.hostName;
@@ -293,42 +301,63 @@ in {
     };
   };
 
-  config = mkIf cfg.enable {
-    users.users.turnserver =
-      { uid = config.ids.uids.turnserver;
-        description = "coturn TURN server user";
-      };
-    users.groups.turnserver =
-      { gid = config.ids.gids.turnserver;
-        members = [ "turnserver" ];
-      };
+  config = mkIf cfg.enable (mkMerge ([
+    { assertions = [
+      { assertion = cfg.static-auth-secret != null -> cfg.static-auth-secret-file == null ;
+        message = "static-auth-secret and static-auth-secret-file cannot be set at the same time";
+      }
+    ];}
 
-    systemd.services.coturn = {
-      description = "coturn TURN server";
-      after = [ "network-online.target" ];
-      wants = [ "network-online.target" ];
-      wantedBy = [ "multi-user.target" ];
+    {
+      users.users.turnserver =
+        { uid = config.ids.uids.turnserver;
+          description = "coturn TURN server user";
+        };
+      users.groups.turnserver =
+        { gid = config.ids.gids.turnserver;
+          members = [ "turnserver" ];
+        };
 
-      unitConfig = {
-        Documentation = "man:coturn(1) man:turnadmin(1) man:turnserver(1)";
-      };
+      systemd.services.coturn = let
+        runConfig = "/run/coturn/turnserver.cfg";
+      in {
+        description = "coturn TURN server";
+        after = [ "network-online.target" ];
+        wants = [ "network-online.target" ];
+        wantedBy = [ "multi-user.target" ];
 
-      serviceConfig = {
-        Type = "simple";
-        ExecStart = "${pkgs.coturn}/bin/turnserver -c ${configFile}";
-        RuntimeDirectory = "turnserver";
-        User = "turnserver";
-        Group = "turnserver";
-        AmbientCapabilities =
-          mkIf (
-            cfg.listening-port < 1024 ||
-            cfg.alt-listening-port < 1024 ||
-            cfg.tls-listening-port < 1024 ||
-            cfg.alt-tls-listening-port < 1024 ||
-            cfg.min-port < 1024
-          ) "cap_net_bind_service";
-        Restart = "on-abort";
-      };
-    };
-  };
+        unitConfig = {
+          Documentation = "man:coturn(1) man:turnadmin(1) man:turnserver(1)";
+        };
+
+        preStart = ''
+          cat ${configFile} > ${runConfig}
+          ${optionalString (cfg.static-auth-secret-file != null) ''
+            STATIC_AUTH_SECRET="$(head -n1 ${cfg.static-auth-secret-file} || :)"
+            sed -e "s,#static-auth-secret#,$STATIC_AUTH_SECRET,g" \
+              -i ${runConfig}
+          '' }
+          chmod 640 ${runConfig}
+        '';
+        serviceConfig = {
+          Type = "simple";
+          ExecStart = "${pkgs.coturn}/bin/turnserver -c ${runConfig}";
+          RuntimeDirectory = "turnserver";
+          User = "turnserver";
+          Group = "turnserver";
+          AmbientCapabilities =
+            mkIf (
+              cfg.listening-port < 1024 ||
+              cfg.alt-listening-port < 1024 ||
+              cfg.tls-listening-port < 1024 ||
+              cfg.alt-tls-listening-port < 1024 ||
+              cfg.min-port < 1024
+            ) "cap_net_bind_service";
+          Restart = "on-abort";
+        };
+      };
+    systemd.tmpfiles.rules = [
+      "d  /run/coturn 0700 turnserver turnserver - -"
+    ];
+  }]));
 }
diff --git a/nixpkgs/nixos/modules/services/networking/murmur.nix b/nixpkgs/nixos/modules/services/networking/murmur.nix
index b03630208df8..f8bb878ec65d 100644
--- a/nixpkgs/nixos/modules/services/networking/murmur.nix
+++ b/nixpkgs/nixos/modules/services/networking/murmur.nix
@@ -98,7 +98,7 @@ in
       };
 
       port = mkOption {
-        type = types.int;
+        type = types.port;
         default = 64738;
         description = "Ports to bind to (UDP and TCP).";
       };
diff --git a/nixpkgs/nixos/modules/services/networking/namecoind.nix b/nixpkgs/nixos/modules/services/networking/namecoind.nix
index 4966ed2cac8d..8f7a5123f7e1 100644
--- a/nixpkgs/nixos/modules/services/networking/namecoind.nix
+++ b/nixpkgs/nixos/modules/services/networking/namecoind.nix
@@ -105,7 +105,7 @@ in
       };
 
       rpc.port = mkOption {
-        type = types.int;
+        type = types.port;
         default = 8332;
         description = ''
           Port the RPC server will bind to.
diff --git a/nixpkgs/nixos/modules/services/networking/nar-serve.nix b/nixpkgs/nixos/modules/services/networking/nar-serve.nix
index ddd42fa01073..745138186a20 100644
--- a/nixpkgs/nixos/modules/services/networking/nar-serve.nix
+++ b/nixpkgs/nixos/modules/services/networking/nar-serve.nix
@@ -13,7 +13,7 @@ in
       enable = mkEnableOption "Serve NAR file contents via HTTP";
 
       port = mkOption {
-        type = types.int;
+        type = types.port;
         default = 8383;
         description = ''
           Port number where nar-serve will listen on.
diff --git a/nixpkgs/nixos/modules/services/networking/nix-serve.nix b/nixpkgs/nixos/modules/services/networking/nix-serve.nix
index 347d87b3f385..b17f35c769bb 100644
--- a/nixpkgs/nixos/modules/services/networking/nix-serve.nix
+++ b/nixpkgs/nixos/modules/services/networking/nix-serve.nix
@@ -11,7 +11,7 @@ in
       enable = mkEnableOption "nix-serve, the standalone Nix binary cache server";
 
       port = mkOption {
-        type = types.int;
+        type = types.port;
         default = 5000;
         description = ''
           Port number where nix-serve will listen on.
diff --git a/nixpkgs/nixos/modules/services/networking/ssh/sshd.nix b/nixpkgs/nixos/modules/services/networking/ssh/sshd.nix
index 4cad8f8663b4..d804c017f5d6 100644
--- a/nixpkgs/nixos/modules/services/networking/ssh/sshd.nix
+++ b/nixpkgs/nixos/modules/services/networking/ssh/sshd.nix
@@ -464,6 +464,7 @@ in
               { ExecStart =
                   (optionalString cfg.startWhenNeeded "-") +
                   "${cfgc.package}/bin/sshd " + (optionalString cfg.startWhenNeeded "-i ") +
+                  "-D " +  # don't detach into a daemon process
                   "-f /etc/ssh/sshd_config";
                 KillMode = "process";
               } // (if cfg.startWhenNeeded then {
diff --git a/nixpkgs/nixos/modules/services/networking/tailscale.nix b/nixpkgs/nixos/modules/services/networking/tailscale.nix
index c33a38179ee4..3f88ff53dff0 100644
--- a/nixpkgs/nixos/modules/services/networking/tailscale.nix
+++ b/nixpkgs/nixos/modules/services/networking/tailscale.nix
@@ -34,7 +34,7 @@ in {
     systemd.packages = [ cfg.package ];
     systemd.services.tailscaled = {
       wantedBy = [ "multi-user.target" ];
-      path = [ pkgs.openresolv ];
+      path = [ pkgs.openresolv pkgs.procps ];
       serviceConfig.Environment = [
         "PORT=${toString cfg.port}"
         ''"FLAGS=--tun ${lib.escapeShellArg cfg.interfaceName}"''
diff --git a/nixpkgs/nixos/modules/services/security/bitwarden_rs/backup.sh b/nixpkgs/nixos/modules/services/security/vaultwarden/backup.sh
index 264a7da9cbb6..2a3de0ab1dee 100644
--- a/nixpkgs/nixos/modules/services/security/bitwarden_rs/backup.sh
+++ b/nixpkgs/nixos/modules/services/security/vaultwarden/backup.sh
@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 
-# Based on: https://github.com/dani-garcia/bitwarden_rs/wiki/Backing-up-your-vault
+# Based on: https://github.com/dani-garcia/vaultwarden/wiki/Backing-up-your-vault
 if ! mkdir -p "$BACKUP_FOLDER"; then
   echo "Could not create backup folder '$BACKUP_FOLDER'" >&2
   exit 1
diff --git a/nixpkgs/nixos/modules/services/security/bitwarden_rs/default.nix b/nixpkgs/nixos/modules/services/security/vaultwarden/default.nix
index bed59dbf821f..940ac7832dae 100644
--- a/nixpkgs/nixos/modules/services/security/bitwarden_rs/default.nix
+++ b/nixpkgs/nixos/modules/services/security/vaultwarden/default.nix
@@ -3,9 +3,9 @@
 with lib;
 
 let
-  cfg = config.services.bitwarden_rs;
-  user = config.users.users.bitwarden_rs.name;
-  group = config.users.groups.bitwarden_rs.name;
+  cfg = config.services.vaultwarden;
+  user = config.users.users.vaultwarden.name;
+  group = config.users.groups.vaultwarden.name;
 
   # Convert name from camel case (e.g. disable2FARemember) to upper case snake case (e.g. DISABLE_2FA_REMEMBER).
   nameToEnvVar = name:
@@ -26,22 +26,26 @@ let
         if value != null then [ (nameValuePair (nameToEnvVar name) (if isBool value then boolToString value else toString value)) ] else []
       ) cfg.config));
     in { DATA_FOLDER = "/var/lib/bitwarden_rs"; } // optionalAttrs (!(configEnv ? WEB_VAULT_ENABLED) || configEnv.WEB_VAULT_ENABLED == "true") {
-      WEB_VAULT_FOLDER = "${pkgs.bitwarden_rs-vault}/share/bitwarden_rs/vault";
+      WEB_VAULT_FOLDER = "${pkgs.vaultwarden-vault}/share/vaultwarden/vault";
     } // configEnv;
 
-  configFile = pkgs.writeText "bitwarden_rs.env" (concatStrings (mapAttrsToList (name: value: "${name}=${value}\n") configEnv));
+  configFile = pkgs.writeText "vaultwarden.env" (concatStrings (mapAttrsToList (name: value: "${name}=${value}\n") configEnv));
 
-  bitwarden_rs = pkgs.bitwarden_rs.override { inherit (cfg) dbBackend; };
+  vaultwarden = pkgs.vaultwarden.override { inherit (cfg) dbBackend; };
 
 in {
-  options.services.bitwarden_rs = with types; {
-    enable = mkEnableOption "bitwarden_rs";
+  imports = [
+    (mkRenamedOptionModule [ "services" "bitwarden_rs" ] [ "services" "vaultwarden" ])
+  ];
+
+  options.services.vaultwarden = with types; {
+    enable = mkEnableOption "vaultwarden";
 
     dbBackend = mkOption {
       type = enum [ "sqlite" "mysql" "postgresql" ];
       default = "sqlite";
       description = ''
-        Which database backend bitwarden_rs will be using.
+        Which database backend vaultwarden will be using.
       '';
     };
 
@@ -49,7 +53,7 @@ in {
       type = nullOr str;
       default = null;
       description = ''
-        The directory under which bitwarden_rs will backup its persistent data.
+        The directory under which vaultwarden will backup its persistent data.
       '';
     };
 
@@ -65,7 +69,7 @@ in {
         }
       '';
       description = ''
-        The configuration of bitwarden_rs is done through environment variables,
+        The configuration of vaultwarden is done through environment variables,
         therefore the names are converted from camel case (e.g. disable2FARemember)
         to upper case snake case (e.g. DISABLE_2FA_REMEMBER).
         In this conversion digits (0-9) are handled just like upper case characters,
@@ -75,17 +79,17 @@ in {
         This allows working around any potential future conflicting naming conventions.
 
         Based on the attributes passed to this config option an environment file will be generated
-        that is passed to bitwarden_rs's systemd service.
+        that is passed to vaultwarden's systemd service.
 
         The available configuration options can be found in
-        <link xlink:href="https://github.com/dani-garcia/bitwarden_rs/blob/${bitwarden_rs.version}/.env.template">the environment template file</link>.
+        <link xlink:href="https://github.com/dani-garcia/vaultwarden/blob/${vaultwarden.version}/.env.template">the environment template file</link>.
       '';
     };
 
     environmentFile = mkOption {
       type = with types; nullOr path;
       default = null;
-      example = "/root/bitwarden_rs.env";
+      example = "/root/vaultwarden.env";
       description = ''
         Additional environment file as defined in <citerefentry>
         <refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum>
@@ -95,7 +99,7 @@ in {
         may be passed to the service without adding them to the world-readable Nix store.
 
         Note that this file needs to be available on the host on which
-        <literal>bitwarden_rs</literal> is running.
+        <literal>vaultwarden</literal> is running.
       '';
     };
   };
@@ -106,20 +110,21 @@ in {
       message = "Backups for database backends other than sqlite will need customization";
     } ];
 
-    users.users.bitwarden_rs = {
+    users.users.vaultwarden = {
       inherit group;
       isSystemUser = true;
     };
-    users.groups.bitwarden_rs = { };
+    users.groups.vaultwarden = { };
 
-    systemd.services.bitwarden_rs = {
+    systemd.services.vaultwarden = {
+      aliases = [ "bitwarden_rs" ];
       after = [ "network.target" ];
       path = with pkgs; [ openssl ];
       serviceConfig = {
         User = user;
         Group = group;
         EnvironmentFile = [ configFile ] ++ optional (cfg.environmentFile != null) cfg.environmentFile;
-        ExecStart = "${bitwarden_rs}/bin/bitwarden_rs";
+        ExecStart = "${vaultwarden}/bin/vaultwarden";
         LimitNOFILE = "1048576";
         PrivateTmp = "true";
         PrivateDevices = "true";
@@ -131,15 +136,16 @@ in {
       wantedBy = [ "multi-user.target" ];
     };
 
-    systemd.services.backup-bitwarden_rs = mkIf (cfg.backupDir != null) {
-      description = "Backup bitwarden_rs";
+    systemd.services.backup-vaultwarden = mkIf (cfg.backupDir != null) {
+      aliases = [ "backup-bitwarden_rs" ];
+      description = "Backup vaultwarden";
       environment = {
         DATA_FOLDER = "/var/lib/bitwarden_rs";
         BACKUP_FOLDER = cfg.backupDir;
       };
       path = with pkgs; [ sqlite ];
       serviceConfig = {
-        SyslogIdentifier = "backup-bitwarden_rs";
+        SyslogIdentifier = "backup-vaultwarden";
         Type = "oneshot";
         User = mkDefault user;
         Group = mkDefault group;
@@ -148,12 +154,13 @@ in {
       wantedBy = [ "multi-user.target" ];
     };
 
-    systemd.timers.backup-bitwarden_rs = mkIf (cfg.backupDir != null) {
-      description = "Backup bitwarden_rs on time";
+    systemd.timers.backup-vaultwarden = mkIf (cfg.backupDir != null) {
+      aliases = [ "backup-bitwarden_rs" ];
+      description = "Backup vaultwarden on time";
       timerConfig = {
         OnCalendar = mkDefault "23:00";
         Persistent = "true";
-        Unit = "backup-bitwarden_rs.service";
+        Unit = "backup-vaultwarden.service";
       };
       wantedBy = [ "multi-user.target" ];
     };
diff --git a/nixpkgs/nixos/modules/services/web-apps/discourse.nix b/nixpkgs/nixos/modules/services/web-apps/discourse.nix
index 9c7166f381a3..d3ae072f86a8 100644
--- a/nixpkgs/nixos/modules/services/web-apps/discourse.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/discourse.nix
@@ -30,6 +30,9 @@ in
       package = lib.mkOption {
         type = lib.types.package;
         default = pkgs.discourse;
+        apply = p: p.override {
+          plugins = lib.unique (p.enabledPlugins ++ cfg.plugins);
+        };
         defaultText = "pkgs.discourse";
         description = ''
           The discourse package to use.
@@ -731,8 +734,6 @@ in
 
           cp -r ${cfg.package}/share/discourse/config.dist/* /run/discourse/config/
           cp -r ${cfg.package}/share/discourse/public.dist/* /run/discourse/public/
-          cp -r ${cfg.package}/share/discourse/plugins.dist/* /run/discourse/plugins/
-          ${lib.concatMapStringsSep "\n" (p: "ln -sf ${p} /run/discourse/plugins/") cfg.plugins}
           ln -sf /var/lib/discourse/uploads /run/discourse/public/uploads
           ln -sf /var/lib/discourse/backups /run/discourse/public/backups
 
diff --git a/nixpkgs/nixos/modules/services/web-servers/minio.nix b/nixpkgs/nixos/modules/services/web-servers/minio.nix
index 381a55faff16..d075449012f7 100644
--- a/nixpkgs/nixos/modules/services/web-servers/minio.nix
+++ b/nixpkgs/nixos/modules/services/web-servers/minio.nix
@@ -4,6 +4,11 @@ with lib;
 
 let
   cfg = config.services.minio;
+
+  legacyCredentials = cfg: pkgs.writeText "minio-legacy-credentials" ''
+    MINIO_ROOT_USER=${cfg.accessKey}
+    MINIO_ROOT_PASSWORD=${cfg.secretKey}
+  '';
 in
 {
   meta.maintainers = [ maintainers.bachp ];
@@ -49,6 +54,17 @@ in
       '';
     };
 
+    rootCredentialsFile = mkOption  {
+      type = types.nullOr types.path;
+      default = null;
+      description = ''
+        File containing the MINIO_ROOT_USER, default is "minioadmin", and
+        MINIO_ROOT_PASSWORD (length >= 8), default is "minioadmin"; in the format of
+        an EnvironmentFile=, as described by systemd.exec(5).
+      '';
+      example = "/etc/nixos/minio-root-credentials";
+    };
+
     region = mkOption {
       default = "us-east-1";
       type = types.str;
@@ -72,6 +88,8 @@ in
   };
 
   config = mkIf cfg.enable {
+    warnings = optional ((cfg.accessKey != "") || (cfg.secretKey != "")) "services.minio.`accessKey` and services.minio.`secretKey` are deprecated, please use services.minio.`rootCredentialsFile` instead.";
+
     systemd.tmpfiles.rules = [
       "d '${cfg.configDir}' - minio minio - -"
     ] ++ (map (x:  "d '" + x + "' - minio minio - - ") cfg.dataDir);
@@ -86,14 +104,13 @@ in
         User = "minio";
         Group = "minio";
         LimitNOFILE = 65536;
+        EnvironmentFile = if (cfg.rootCredentialsFile != null) then cfg.rootCredentialsFile
+                          else if ((cfg.accessKey != "") || (cfg.secretKey != "")) then (legacyCredentials cfg)
+                          else null;
       };
       environment = {
         MINIO_REGION = "${cfg.region}";
         MINIO_BROWSER = "${if cfg.browser then "on" else "off"}";
-      } // optionalAttrs (cfg.accessKey != "") {
-        MINIO_ACCESS_KEY = "${cfg.accessKey}";
-      } // optionalAttrs (cfg.secretKey != "") {
-        MINIO_SECRET_KEY = "${cfg.secretKey}";
       };
     };
 
diff --git a/nixpkgs/nixos/modules/services/web-servers/ttyd.nix b/nixpkgs/nixos/modules/services/web-servers/ttyd.nix
index 01a01d97a234..68d55ee6ffd2 100644
--- a/nixpkgs/nixos/modules/services/web-servers/ttyd.nix
+++ b/nixpkgs/nixos/modules/services/web-servers/ttyd.nix
@@ -33,7 +33,7 @@ in
       enable = mkEnableOption "ttyd daemon";
 
       port = mkOption {
-        type = types.int;
+        type = types.port;
         default = 7681;
         description = "Port to listen on (use 0 for random port)";
       };
diff --git a/nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix b/nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix
index e1b9a21eb9f0..ef9ec438cc1c 100644
--- a/nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix
+++ b/nixpkgs/nixos/modules/services/x11/display-managers/gdm.nix
@@ -99,7 +99,8 @@ in
       autoSuspend = mkOption {
         default = true;
         description = ''
-          Suspend the machine after inactivity.
+          On the GNOME Display Manager login screen, suspend the machine after inactivity.
+          (Does not affect automatic suspend while logged in, or at lock screen.)
         '';
         type = types.bool;
       };
diff --git a/nixpkgs/nixos/modules/services/x11/window-managers/fvwm.nix b/nixpkgs/nixos/modules/services/x11/window-managers/fvwm.nix
index 9a51b9cd6602..e283886ecc40 100644
--- a/nixpkgs/nixos/modules/services/x11/window-managers/fvwm.nix
+++ b/nixpkgs/nixos/modules/services/x11/window-managers/fvwm.nix
@@ -4,7 +4,7 @@ with lib;
 
 let
   cfg = config.services.xserver.windowManager.fvwm;
-  fvwm = pkgs.fvwm.override { gestures = cfg.gestures; };
+  fvwm = pkgs.fvwm.override { enableGestures = cfg.gestures; };
 in
 
 {
diff --git a/nixpkgs/nixos/modules/system/activation/top-level.nix b/nixpkgs/nixos/modules/system/activation/top-level.nix
index 6751ca3f2ee7..4e2f25cd27fc 100644
--- a/nixpkgs/nixos/modules/system/activation/top-level.nix
+++ b/nixpkgs/nixos/modules/system/activation/top-level.nix
@@ -13,7 +13,7 @@ let
   # !!! fix this
   children = mapAttrs (childName: childConfig:
       (import ../../../lib/eval-config.nix {
-        inherit baseModules specialArgs;
+        inherit lib baseModules specialArgs;
         system = config.nixpkgs.initialSystem;
         modules =
            (optionals childConfig.inheritParentConfig modules)
diff --git a/nixpkgs/nixos/modules/system/boot/kernel.nix b/nixpkgs/nixos/modules/system/boot/kernel.nix
index 363d8e47a0ff..1a6a9d99d5bb 100644
--- a/nixpkgs/nixos/modules/system/boot/kernel.nix
+++ b/nixpkgs/nixos/modules/system/boot/kernel.nix
@@ -38,11 +38,11 @@ in
       default = pkgs.linuxPackages;
       type = types.unspecified // { merge = mergeEqualOption; };
       apply = kernelPackages: kernelPackages.extend (self: super: {
-        kernel = super.kernel.override {
+        kernel = super.kernel.override (originalArgs: {
           inherit randstructSeed;
-          kernelPatches = super.kernel.kernelPatches ++ kernelPatches;
+          kernelPatches = (originalArgs.kernelPatches or []) ++ kernelPatches;
           features = lib.recursiveUpdate super.kernel.features features;
-        };
+        });
       });
       # We don't want to evaluate all of linuxPackages for the manual
       # - some of it might not even evaluate correctly.
diff --git a/nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py b/nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
index 63e01dd054a5..7134b4321630 100644
--- a/nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
+++ b/nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
@@ -61,7 +61,7 @@ def write_loader_conf(profile: Optional[str], generation: int) -> None:
 
 
 def profile_path(profile: Optional[str], generation: int, name: str) -> str:
-    return os.readlink("%s/%s" % (system_dir(profile, generation), name))
+    return os.path.realpath("%s/%s" % (system_dir(profile, generation), name))
 
 
 def copy_from_profile(profile: Optional[str], generation: int, name: str, dry_run: bool = False) -> str:
diff --git a/nixpkgs/nixos/modules/system/boot/luksroot.nix b/nixpkgs/nixos/modules/system/boot/luksroot.nix
index 8c82b4bcf5db..f87d3b07a360 100644
--- a/nixpkgs/nixos/modules/system/boot/luksroot.nix
+++ b/nixpkgs/nixos/modules/system/boot/luksroot.nix
@@ -621,6 +621,8 @@ in
               Whether to allow TRIM requests to the underlying device. This option
               has security implications; please read the LUKS documentation before
               activating it.
+              This option is incompatible with authenticated encryption (dm-crypt
+              stacked over dm-integrity).
             '';
           };
 
diff --git a/nixpkgs/nixos/modules/tasks/filesystems/btrfs.nix b/nixpkgs/nixos/modules/tasks/filesystems/btrfs.nix
index c0ff28039b16..ae1dab5b8d8d 100644
--- a/nixpkgs/nixos/modules/tasks/filesystems/btrfs.nix
+++ b/nixpkgs/nixos/modules/tasks/filesystems/btrfs.nix
@@ -55,7 +55,16 @@ in
     (mkIf enableBtrfs {
       system.fsPackages = [ pkgs.btrfs-progs ];
 
-      boot.initrd.kernelModules = mkIf inInitrd [ "btrfs" "crc32c" ];
+      boot.initrd.kernelModules = mkIf inInitrd [ "btrfs" ];
+      boot.initrd.availableKernelModules = mkIf inInitrd (
+        [ "crc32c" ]
+        ++ optionals (config.boot.kernelPackages.kernel.kernelAtLeast "5.5") [
+          # Needed for mounting filesystems with new checksums
+          "xxhash_generic"
+          "blake2b_generic"
+          "sha256_generic" # Should be baked into our kernel, just to be sure
+        ]
+      );
 
       boot.initrd.extraUtilsCommands = mkIf inInitrd
       ''
diff --git a/nixpkgs/nixos/modules/virtualisation/oci-containers.nix b/nixpkgs/nixos/modules/virtualisation/oci-containers.nix
index ad436ed30146..65b63cebc79c 100644
--- a/nixpkgs/nixos/modules/virtualisation/oci-containers.nix
+++ b/nixpkgs/nixos/modules/virtualisation/oci-containers.nix
@@ -262,9 +262,6 @@ let
     postStop = "${cfg.backend} rm -f ${name} || true";
 
     serviceConfig = {
-      StandardOutput = "null";
-      StandardError = "null";
-
       ### There is no generalized way of supporting `reload` for docker
       ### containers. Some containers may respond well to SIGHUP sent to their
       ### init process, but it is not guaranteed; some apps have other reload
diff --git a/nixpkgs/nixos/tests/acme.nix b/nixpkgs/nixos/tests/acme.nix
index fe8c4af3ea21..6532fc4ac1d4 100644
--- a/nixpkgs/nixos/tests/acme.nix
+++ b/nixpkgs/nixos/tests/acme.nix
@@ -330,30 +330,38 @@ in import ./make-test-python.nix ({ lib, ... }: {
 
       with subtest("Can request certificate with HTTPS-01 challenge"):
           webserver.wait_for_unit("acme-finished-a.example.test.target")
-          check_fullchain(webserver, "a.example.test")
-          check_issuer(webserver, "a.example.test", "pebble")
-          check_connection(client, "a.example.test")
 
       with subtest("Certificates and accounts have safe + valid permissions"):
           group = "${nodes.webserver.config.security.acme.certs."a.example.test".group}"
           webserver.succeed(
-              f"test $(stat -L -c \"%a %U %G\" /var/lib/acme/a.example.test/* | tee /dev/stderr | grep '640 acme {group}' | wc -l) -eq 5"
+              f"test $(stat -L -c '%a %U %G' /var/lib/acme/a.example.test/*.pem | tee /dev/stderr | grep '640 acme {group}' | wc -l) -eq 5"
           )
           webserver.succeed(
-              f"test $(stat -L -c \"%a %U %G\" /var/lib/acme/.lego/a.example.test/**/* | tee /dev/stderr | grep '640 acme {group}' | wc -l) -eq 5"
+              f"test $(stat -L -c '%a %U %G' /var/lib/acme/.lego/a.example.test/**/a.example.test* | tee /dev/stderr | grep '600 acme {group}' | wc -l) -eq 4"
           )
           webserver.succeed(
-              f"test $(stat -L -c \"%a %U %G\" /var/lib/acme/a.example.test | tee /dev/stderr | grep '750 acme {group}' | wc -l) -eq 1"
+              f"test $(stat -L -c '%a %U %G' /var/lib/acme/a.example.test | tee /dev/stderr | grep '750 acme {group}' | wc -l) -eq 1"
           )
           webserver.succeed(
-              f"test $(find /var/lib/acme/accounts -type f -exec stat -L -c \"%a %U %G\" {{}} \\; | tee /dev/stderr | grep -v '600 acme {group}' | wc -l) -eq 0"
+              f"test $(find /var/lib/acme/accounts -type f -exec stat -L -c '%a %U %G' {{}} \\; | tee /dev/stderr | grep -v '600 acme {group}' | wc -l) -eq 0"
           )
 
+      with subtest("Certs are accepted by web server"):
+          webserver.succeed("systemctl start nginx.service")
+          check_fullchain(webserver, "a.example.test")
+          check_issuer(webserver, "a.example.test", "pebble")
+          check_connection(client, "a.example.test")
+
+      # Selfsigned certs tests happen late so we aren't fighting the system init triggering cert renewal
       with subtest("Can generate valid selfsigned certs"):
           webserver.succeed("systemctl clean acme-a.example.test.service --what=state")
           webserver.succeed("systemctl start acme-selfsigned-a.example.test.service")
           check_fullchain(webserver, "a.example.test")
           check_issuer(webserver, "a.example.test", "minica")
+          # Check selfsigned permissions
+          webserver.succeed(
+              f"test $(stat -L -c '%a %U %G' /var/lib/acme/a.example.test/*.pem | tee /dev/stderr | grep '640 acme {group}' | wc -l) -eq 5"
+          )
           # Will succeed if nginx can load the certs
           webserver.succeed("systemctl start nginx-config-reload.service")
 
@@ -376,6 +384,8 @@ in import ./make-test-python.nix ({ lib, ... }: {
           webserver.wait_for_unit("acme-finished-a.example.test.target")
           check_connection_key_bits(client, "a.example.test", "384")
           webserver.succeed("grep testing /var/lib/acme/a.example.test/test")
+          # Clean to remove the testing file (and anything else messy we did)
+          webserver.succeed("systemctl clean acme-a.example.test.service --what=state")
 
       with subtest("Correctly implements OCSP stapling"):
           switch_to(webserver, "ocsp-stapling")
diff --git a/nixpkgs/nixos/tests/all-tests.nix b/nixpkgs/nixos/tests/all-tests.nix
index b5126be8af7a..741606732144 100644
--- a/nixpkgs/nixos/tests/all-tests.nix
+++ b/nixpkgs/nixos/tests/all-tests.nix
@@ -42,12 +42,12 @@ in
   bind = handleTest ./bind.nix {};
   bitcoind = handleTest ./bitcoind.nix {};
   bittorrent = handleTest ./bittorrent.nix {};
-  bitwarden = handleTest ./bitwarden.nix {};
   blockbook-frontend = handleTest ./blockbook-frontend.nix {};
   boot = handleTestOn ["x86_64-linux"] ./boot.nix {}; # syslinux is unsupported on aarch64
   boot-stage1 = handleTest ./boot-stage1.nix {};
   borgbackup = handleTest ./borgbackup.nix {};
   botamusique = handleTest ./botamusique.nix {};
+  btrbk = handleTest ./btrbk.nix {};
   buildbot = handleTest ./buildbot.nix {};
   buildkite-agents = handleTest ./buildkite-agents.nix {};
   caddy = handleTest ./caddy.nix {};
@@ -88,6 +88,7 @@ in
   containers-tmpfs = handleTest ./containers-tmpfs.nix {};
   convos = handleTest ./convos.nix {};
   corerad = handleTest ./corerad.nix {};
+  coturn = handleTest ./coturn.nix {};
   couchdb = handleTest ./couchdb.nix {};
   cri-o = handleTestOn ["x86_64-linux"] ./cri-o.nix {};
   custom-ca = handleTest ./custom-ca.nix {};
@@ -446,6 +447,7 @@ in
   v2ray = handleTest ./v2ray.nix {};
   vault = handleTest ./vault.nix {};
   vault-postgresql = handleTest ./vault-postgresql.nix {};
+  vaultwarden = handleTest ./vaultwarden.nix {};
   vector = handleTest ./vector.nix {};
   victoriametrics = handleTest ./victoriametrics.nix {};
   virtualbox = handleTestOn ["x86_64-linux"] ./virtualbox.nix {};
diff --git a/nixpkgs/nixos/tests/btrbk.nix b/nixpkgs/nixos/tests/btrbk.nix
new file mode 100644
index 000000000000..2689bb66c63a
--- /dev/null
+++ b/nixpkgs/nixos/tests/btrbk.nix
@@ -0,0 +1,110 @@
+import ./make-test-python.nix ({ pkgs, ... }:
+
+  let
+    privateKey = ''
+      -----BEGIN OPENSSH PRIVATE KEY-----
+      b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
+      QyNTUxOQAAACBx8UB04Q6Q/fwDFjakHq904PYFzG9pU2TJ9KXpaPMcrwAAAJB+cF5HfnBe
+      RwAAAAtzc2gtZWQyNTUxOQAAACBx8UB04Q6Q/fwDFjakHq904PYFzG9pU2TJ9KXpaPMcrw
+      AAAEBN75NsJZSpt63faCuaD75Unko0JjlSDxMhYHAPJk2/xXHxQHThDpD9/AMWNqQer3Tg
+      9gXMb2lTZMn0pelo8xyvAAAADXJzY2h1ZXR6QGt1cnQ=
+      -----END OPENSSH PRIVATE KEY-----
+    '';
+    publicKey = ''
+      ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHHxQHThDpD9/AMWNqQer3Tg9gXMb2lTZMn0pelo8xyv
+    '';
+  in
+  {
+    name = "btrbk";
+    meta = with pkgs.lib; {
+      maintainers = with maintainers; [ symphorien ];
+    };
+
+    nodes = {
+      archive = { ... }: {
+        environment.systemPackages = with pkgs; [ btrfs-progs ];
+        # note: this makes the privateKey world readable.
+        # don't do it with real ssh keys.
+        environment.etc."btrbk_key".text = privateKey;
+        services.btrbk = {
+          extraPackages = [ pkgs.lz4 ];
+          instances = {
+            remote = {
+              onCalendar = "minutely";
+              settings = {
+                ssh_identity = "/etc/btrbk_key";
+                ssh_user = "btrbk";
+                stream_compress = "lz4";
+                volume = {
+                  "ssh://main/mnt" = {
+                    target = "/mnt";
+                    snapshot_dir = "btrbk/remote";
+                    subvolume = "to_backup";
+                  };
+                };
+              };
+            };
+          };
+        };
+      };
+
+      main = { ... }: {
+        environment.systemPackages = with pkgs; [ btrfs-progs ];
+        services.openssh = {
+          enable = true;
+          passwordAuthentication = false;
+          challengeResponseAuthentication = false;
+        };
+        services.btrbk = {
+          extraPackages = [ pkgs.lz4 ];
+          sshAccess = [
+            {
+              key = publicKey;
+              roles = [ "source" "send" "info" "delete" ];
+            }
+          ];
+          instances = {
+            local = {
+              onCalendar = "minutely";
+              settings = {
+                volume = {
+                  "/mnt" = {
+                    snapshot_dir = "btrbk/local";
+                    subvolume = "to_backup";
+                  };
+                };
+              };
+            };
+          };
+        };
+      };
+    };
+
+    testScript = ''
+      start_all()
+
+      # create btrfs partition at /mnt
+      for machine in (archive, main):
+        machine.succeed("dd if=/dev/zero of=/data_fs bs=120M count=1")
+        machine.succeed("mkfs.btrfs /data_fs")
+        machine.succeed("mkdir /mnt")
+        machine.succeed("mount /data_fs /mnt")
+
+      # what to backup and where
+      main.succeed("btrfs subvolume create /mnt/to_backup")
+      main.succeed("mkdir -p /mnt/btrbk/{local,remote}")
+
+      # check that local snapshots work
+      with subtest("local"):
+          main.succeed("echo foo > /mnt/to_backup/bar")
+          main.wait_until_succeeds("cat /mnt/btrbk/local/*/bar | grep foo")
+          main.succeed("echo bar > /mnt/to_backup/bar")
+          main.succeed("cat /mnt/btrbk/local/*/bar | grep foo")
+
+      # check that btrfs send/receive works and ssh access works
+      with subtest("remote"):
+          archive.wait_until_succeeds("cat /mnt/*/bar | grep bar")
+          main.succeed("echo baz > /mnt/to_backup/bar")
+          archive.succeed("cat /mnt/*/bar | grep bar")
+    '';
+  })
diff --git a/nixpkgs/nixos/tests/coturn.nix b/nixpkgs/nixos/tests/coturn.nix
new file mode 100644
index 000000000000..dff832281c7c
--- /dev/null
+++ b/nixpkgs/nixos/tests/coturn.nix
@@ -0,0 +1,29 @@
+import ./make-test-python.nix ({ ... }: {
+  name = "coturn";
+  nodes = {
+    default = {
+      services.coturn.enable = true;
+    };
+    secretsfile = {
+      boot.postBootCommands = ''
+        echo "some-very-secret-string" > /run/coturn-secret
+      '';
+      services.coturn = {
+        enable = true;
+        static-auth-secret-file = "/run/coturn-secret";
+      };
+    };
+  };
+
+  testScript =
+    ''
+      start_all()
+
+      with subtest("by default works without configuration"):
+          default.wait_for_unit("coturn.service")
+
+      with subtest("works with static-auth-secret-file"):
+          secretsfile.wait_for_unit("coturn.service")
+          secretsfile.succeed("grep 'some-very-secret-string' /run/coturn/turnserver.cfg")
+    '';
+})
diff --git a/nixpkgs/nixos/tests/jenkins-cli.nix b/nixpkgs/nixos/tests/jenkins-cli.nix
new file mode 100644
index 000000000000..f25e1604da33
--- /dev/null
+++ b/nixpkgs/nixos/tests/jenkins-cli.nix
@@ -0,0 +1,30 @@
+import ./make-test-python.nix ({ pkgs, ...} : rec {
+  name = "jenkins-cli";
+  meta = with pkgs.lib.maintainers; {
+    maintainers = [ pamplemousse ];
+  };
+
+  nodes = {
+    machine =
+      { ... }:
+      {
+        services.jenkins = {
+          enable = true;
+          withCLI = true;
+        };
+      };
+  };
+
+  testScript = ''
+    start_all()
+
+    machine.wait_for_unit("jenkins")
+
+    assert "JENKINS_URL" in machine.succeed("env")
+    assert "http://0.0.0.0:8080" in machine.succeed("echo $JENKINS_URL")
+
+    machine.succeed(
+        "jenkins-cli -auth admin:$(cat /var/lib/jenkins/secrets/initialAdminPassword)"
+    )
+  '';
+})
diff --git a/nixpkgs/nixos/tests/kubernetes/base.nix b/nixpkgs/nixos/tests/kubernetes/base.nix
index 8cfac10b6dc4..1f23ca55fb23 100644
--- a/nixpkgs/nixos/tests/kubernetes/base.nix
+++ b/nixpkgs/nixos/tests/kubernetes/base.nix
@@ -40,7 +40,7 @@ let
                   allowedTCPPorts = [
                     10250 # kubelet
                   ];
-                  trustedInterfaces = ["docker0"];
+                  trustedInterfaces = ["mynet"];
 
                   extraCommands = concatMapStrings  (node: ''
                     iptables -A INPUT -s ${node.config.networking.primaryIPAddress} -j ACCEPT
@@ -61,6 +61,13 @@ let
                   advertiseAddress = master.ip;
                 };
                 masterAddress = "${masterName}.${config.networking.domain}";
+                # workaround for:
+                #   https://github.com/kubernetes/kubernetes/issues/102676
+                #   (workaround from) https://github.com/kubernetes/kubernetes/issues/95488
+                kubelet.extraOpts = ''\
+                  --cgroups-per-qos=false \
+                  --enforce-node-allocatable="" \
+                '';
               };
             }
             (optionalAttrs (any (role: role == "master") machine.roles) {
diff --git a/nixpkgs/nixos/tests/mysql/mysql.nix b/nixpkgs/nixos/tests/mysql/mysql.nix
index c21136416d47..2ec9c3d50a3c 100644
--- a/nixpkgs/nixos/tests/mysql/mysql.nix
+++ b/nixpkgs/nixos/tests/mysql/mysql.nix
@@ -98,7 +98,7 @@ import ./../make-test-python.nix ({ pkgs, ...} : {
         }];
         services.mysql.settings = {
           mysqld = {
-            plugin-load-add = [ "ha_rocksdb.so" ];
+            plugin-load-add = [ "ha_mroonga.so" "ha_rocksdb.so" ];
           };
         };
         services.mysql.package = pkgs.mariadb;
@@ -172,6 +172,20 @@ import ./../make-test-python.nix ({ pkgs, ...} : {
         "echo 'use testdb; select test_id from tests;' | sudo -u testuser mysql -u testuser -N | grep 42"
     )
 
+    # Check if Mroonga plugin works
+    mariadb.succeed(
+        "echo 'use testdb; create table mroongadb (test_id INT, PRIMARY KEY (test_id)) ENGINE = Mroonga;' | sudo -u testuser mysql -u testuser"
+    )
+    mariadb.succeed(
+        "echo 'use testdb; insert into mroongadb values (25);' | sudo -u testuser mysql -u testuser"
+    )
+    mariadb.succeed(
+        "echo 'use testdb; select test_id from mroongadb;' | sudo -u testuser mysql -u testuser -N | grep 25"
+    )
+    mariadb.succeed(
+        "echo 'use testdb; drop table mroongadb;' | sudo -u testuser mysql -u testuser"
+    )
+
     # Check if RocksDB plugin works
     mariadb.succeed(
         "echo 'use testdb; create table rocksdb (test_id INT, PRIMARY KEY (test_id)) ENGINE = RocksDB;' | sudo -u testuser mysql -u testuser"
diff --git a/nixpkgs/nixos/tests/sanoid.nix b/nixpkgs/nixos/tests/sanoid.nix
index c691bfc08ef7..1983945915fe 100644
--- a/nixpkgs/nixos/tests/sanoid.nix
+++ b/nixpkgs/nixos/tests/sanoid.nix
@@ -33,7 +33,7 @@ in {
 
           autosnap = true;
         };
-        datasets."pool/sanoid".useTemplate = [ "test" ];
+        datasets."pool/sanoid".use_template = [ "test" ];
         extraArgs = [ "--verbose" ];
       };
 
diff --git a/nixpkgs/nixos/tests/trafficserver.nix b/nixpkgs/nixos/tests/trafficserver.nix
index 3979a1b4a482..983ded4f172e 100644
--- a/nixpkgs/nixos/tests/trafficserver.nix
+++ b/nixpkgs/nixos/tests/trafficserver.nix
@@ -104,6 +104,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     ats.wait_for_open_port(80)
     httpbin.wait_for_unit("httpbin")
     httpbin.wait_for_open_port(80)
+    client.wait_for_unit("network-online.target")
 
     with subtest("Traffic Server is running"):
         out = ats.succeed("traffic_ctl server status")
diff --git a/nixpkgs/nixos/tests/vault.nix b/nixpkgs/nixos/tests/vault.nix
index 59bccbe25959..c3b28b62695a 100644
--- a/nixpkgs/nixos/tests/vault.nix
+++ b/nixpkgs/nixos/tests/vault.nix
@@ -19,6 +19,8 @@ import ./make-test-python.nix ({ pkgs, ... }:
       machine.wait_for_unit("vault.service")
       machine.wait_for_open_port(8200)
       machine.succeed("vault operator init")
-      machine.succeed("vault status | grep Sealed | grep true")
+      # vault now returns exit code 2 for sealed vaults
+      machine.fail("vault status")
+      machine.succeed("vault status || test $? -eq 2")
     '';
 })
diff --git a/nixpkgs/nixos/tests/bitwarden.nix b/nixpkgs/nixos/tests/vaultwarden.nix
index f64cf171f01f..b5343f5cad2d 100644
--- a/nixpkgs/nixos/tests/bitwarden.nix
+++ b/nixpkgs/nixos/tests/vaultwarden.nix
@@ -4,7 +4,7 @@
 }:
 
 # These tests will:
-#  * Set up a bitwarden-rs server
+#  * Set up a vaultwarden server
 #  * Have Firefox use the web vault to create an account, log in, and save a password to the valut
 #  * Have the bw cli log in and read that password from the vault
 #
@@ -24,8 +24,8 @@ let
 
   storedPassword = "seeeecret";
 
-  makeBitwardenTest = backend: makeTest {
-    name = "bitwarden_rs-${backend}";
+  makeVaultwardenTest = backend: makeTest {
+    name = "vaultwarden-${backend}";
     meta = {
       maintainers = with pkgs.lib.maintainers; [ jjjollyjim ];
     };
@@ -45,9 +45,9 @@ let
               package = pkgs.mariadb;
             };
 
-            services.bitwarden_rs.config.databaseUrl = "mysql://bitwardenuser:${dbPassword}@localhost/bitwarden";
+            services.vaultwarden.config.databaseUrl = "mysql://bitwardenuser:${dbPassword}@localhost/bitwarden";
 
-            systemd.services.bitwarden_rs.after = [ "mysql.service" ];
+            systemd.services.vaultwarden.after = [ "mysql.service" ];
           };
 
           postgresql = {
@@ -60,9 +60,9 @@ let
               '';
             };
 
-            services.bitwarden_rs.config.databaseUrl = "postgresql://bitwardenuser:${dbPassword}@localhost/bitwarden";
+            services.vaultwarden.config.databaseUrl = "postgresql://bitwardenuser:${dbPassword}@localhost/bitwarden";
 
-            systemd.services.bitwarden_rs.after = [ "postgresql.service" ];
+            systemd.services.vaultwarden.after = [ "postgresql.service" ];
           };
 
           sqlite = { };
@@ -71,7 +71,7 @@ let
         mkMerge [
           backendConfig.${backend}
           {
-            services.bitwarden_rs = {
+            services.vaultwarden = {
               enable = true;
               dbBackend = backend;
               config.rocketPort = 80;
@@ -152,7 +152,7 @@ let
 
     testScript = ''
       start_all()
-      server.wait_for_unit("bitwarden_rs.service")
+      server.wait_for_unit("vaultwarden.service")
       server.wait_for_open_port(80)
 
       with subtest("configure the cli"):
@@ -184,6 +184,6 @@ let
 in
 builtins.listToAttrs (
   map
-    (backend: { name = backend; value = makeBitwardenTest backend; })
+    (backend: { name = backend; value = makeVaultwardenTest backend; })
     backends
 )
diff --git a/nixpkgs/nixos/tests/yggdrasil.nix b/nixpkgs/nixos/tests/yggdrasil.nix
index 0e75ed54db28..b409d9ed7853 100644
--- a/nixpkgs/nixos/tests/yggdrasil.nix
+++ b/nixpkgs/nixos/tests/yggdrasil.nix
@@ -1,23 +1,19 @@
 let
-  aliceIp6 = "200:3b91:b2d8:e708:fbf3:f06:fdd5:90d0";
+  aliceIp6 = "202:b70:9b0b:cf34:f93c:8f18:bbfd:7034";
   aliceKeys = {
-    EncryptionPublicKey = "13e23986fe76bc3966b42453f479bc563348b7ff76633b7efcb76e185ec7652f";
-    EncryptionPrivateKey = "9f86947b15e86f9badac095517a1982e39a2db37ca726357f95987b898d82208";
-    SigningPublicKey = "e2c43349083bc1e998e4ec4535b4c6a8f44ca9a5a8e07336561267253b2be5f4";
-    SigningPrivateKey = "fe3add8da35316c05f6d90d3ca79bd2801e6ccab6d37e5339fef4152589398abe2c43349083bc1e998e4ec4535b4c6a8f44ca9a5a8e07336561267253b2be5f4";
+    PublicKey = "3e91ec9e861960d86e1ce88051f97c435bdf2859640ab681dfa906eb45ad5182";
+    PrivateKey = "a867f9e078e4ce58d310cf5acd4622d759e2a21df07e1d6fc380a2a26489480d3e91ec9e861960d86e1ce88051f97c435bdf2859640ab681dfa906eb45ad5182";
   };
-  bobIp6 = "201:ebbd:bde9:f138:c302:4afa:1fb6:a19a";
-  bobPrefix = "301:ebbd:bde9:f138";
+  bobIp6 = "202:a483:73a4:9f2d:a559:4a19:bc9:8458";
+  bobPrefix = "302:a483:73a4:9f2d";
   bobConfig = {
     InterfacePeers = {
       eth1 = [ "tcp://192.168.1.200:12345" ];
     };
     MulticastInterfaces = [ "eth1" ];
     LinkLocalTCPPort = 54321;
-    EncryptionPublicKey = "c99d6830111e12d1b004c52fe9e5a2eef0f6aefca167aca14589a370b7373279";
-    EncryptionPrivateKey = "2e698a53d3fdce5962d2ff37de0fe77742a5c8b56cd8259f5da6aa792f6e8ba3";
-    SigningPublicKey = "de111da0ec781e45bf6c63ecb45a78c24d7d4655abfaeea83b26c36eb5c0fd5b";
-    SigningPrivateKey = "2a6c21550f3fca0331df50668ffab66b6dce8237bcd5728e571e8033b363e247de111da0ec781e45bf6c63ecb45a78c24d7d4655abfaeea83b26c36eb5c0fd5b";
+    PublicKey = "2b6f918b6c1a4b54d6bcde86cf74e074fb32ead4ee439b7930df2aa60c825186";
+    PrivateKey = "0c4a24acd3402722ce9277ed179f4a04b895b49586493c25fbaed60653d857d62b6f918b6c1a4b54d6bcde86cf74e074fb32ead4ee439b7930df2aa60c825186";
   };
   danIp6 = bobPrefix + "::2";
 
diff --git a/nixpkgs/nixos/tests/zsh-history.nix b/nixpkgs/nixos/tests/zsh-history.nix
index 3109c3f65081..355687798406 100644
--- a/nixpkgs/nixos/tests/zsh-history.nix
+++ b/nixpkgs/nixos/tests/zsh-history.nix
@@ -23,7 +23,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
     # Login
     default.wait_until_tty_matches(1, "login: ")
     default.send_chars("root\n")
-    default.wait_until_tty_matches(1, "root@default>")
+    default.wait_until_tty_matches(1, r"\nroot@default\b")
 
     # Generate some history
     default.send_chars("echo foobar\n")
diff --git a/nixpkgs/pkgs/applications/audio/audacity/default.nix b/nixpkgs/pkgs/applications/audio/audacity/default.nix
index 354bc0ebd764..73a0cebd36b9 100644
--- a/nixpkgs/pkgs/applications/audio/audacity/default.nix
+++ b/nixpkgs/pkgs/applications/audio/audacity/default.nix
@@ -62,6 +62,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "audacity";
+  # nixpkgs-update: no auto update
+  # Humans too! Let's wait to see how the situation with
+  # https://github.com/audacity/audacity/issues/1213 develops before
+  # pulling any updates that are subject to this privacy policy. We
+  # may wish to switch to a fork, but at the time of writing
+  # (2021-07-05) it's too early to tell how well any of the forks will
+  # be maintained.
   version = "3.0.2";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/applications/audio/freac/default.nix b/nixpkgs/pkgs/applications/audio/freac/default.nix
index c906f62894df..89c4847ededf 100644
--- a/nixpkgs/pkgs/applications/audio/freac/default.nix
+++ b/nixpkgs/pkgs/applications/audio/freac/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "freac";
-  version = "1.1.4";
+  version = "1.1.5";
 
   src = fetchFromGitHub {
     owner = "enzo1982";
     repo = "freac";
     rev = "v${version}";
-    sha256 = "sha256-JwZJOV4mxNKqhhdlfFcX06NwBxmbye2mgMfdM//bHYI=";
+    sha256 = "sha256-cRmN9D/+FLiXqZW/PYhw61EoZuL3y61YtQ/ZNjnhfmY=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/mixxx/default.nix b/nixpkgs/pkgs/applications/audio/mixxx/default.nix
index 7af4b585adfa..6f0d34b870aa 100644
--- a/nixpkgs/pkgs/applications/audio/mixxx/default.nix
+++ b/nixpkgs/pkgs/applications/audio/mixxx/default.nix
@@ -1,49 +1,117 @@
-{ lib, mkDerivation, fetchurl, fetchFromGitHub, chromaprint
-, fftw, flac, faad2, glibcLocales, mp4v2
-, libid3tag, libmad, libopus, libshout, libsndfile, libusb1, libvorbis
-, libGLU, libxcb, lilv, lv2, opusfile
-, pkg-config, portaudio, portmidi, protobuf, qtbase, qtscript, qtsvg
-, qtx11extras, rubberband, sconsPackages, sqlite, taglib, upower, vamp-plugin-sdk
+{ lib
+, mkDerivation
+, fetchurl
+, fetchFromGitHub
+, chromaprint
+, cmake
+, faad2
+, ffmpeg
+, fftw
+, flac
+, glibcLocales
+, hidapi
+, lame
+, libebur128
+, libGLU
+, libid3tag
+, libkeyfinder
+, libmad
+, libmodplug
+, libopus
+, libsecret
+, libshout
+, libsndfile
+, libusb1
+, libvorbis
+, libxcb
+, lilv
+, lv2
+, mp4v2
+, opusfile
+, pcre
+, pkg-config
+, portaudio
+, portmidi
+, protobuf
+, qtbase
+, qtkeychain
+, qtscript
+, qtsvg
+, qtx11extras
+, rubberband
+, serd
+, sord
+, soundtouch
+, sratom
+, sqlite
+, taglib
+, upower
+, vamp-plugin-sdk
+, wavpack
 }:
 
-let
-  # Because libshout 2.4.2 and newer seem to break streaming in mixxx, build it
-  # with 2.4.1 instead.
-  libshout241 = libshout.overrideAttrs (o: rec {
-    name = "libshout-2.4.1";
-    src = fetchurl {
-      url = "http://downloads.xiph.org/releases/libshout/${name}.tar.gz";
-      sha256 = "0kgjpf8jkgyclw11nilxi8vyjk4s8878x23qyxnvybbgqbgbib7k";
-    };
-  });
-in
 mkDerivation rec {
   pname = "mixxx";
-  version = "2.2.4";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "mixxxdj";
     repo = "mixxx";
-    rev = "release-${version}";
-    sha256 = "1dj9li8av9b2kbm76jvvbdmihy1pyrw0s4xd7dd524wfhwr1llxr";
+    rev = version;
+    sha256 = "18sx4l3zzbn5142xfv5bp0crdd615a5728fkprqacnx3zpa144x6";
   };
 
-  nativeBuildInputs = [ sconsPackages.scons_3_1_2 ];
+  nativeBuildInputs = [ cmake pkg-config ];
+
   buildInputs = [
-    chromaprint fftw flac faad2 glibcLocales mp4v2 libid3tag libmad libopus libshout241 libsndfile
-    libusb1 libvorbis libxcb libGLU lilv lv2 opusfile pkg-config portaudio portmidi protobuf qtbase qtscript qtsvg
-    qtx11extras rubberband sqlite taglib upower vamp-plugin-sdk
+    chromaprint
+    faad2
+    ffmpeg
+    fftw
+    flac
+    glibcLocales
+    hidapi
+    lame
+    libebur128
+    libGLU
+    libid3tag
+    libkeyfinder
+    libmad
+    libmodplug
+    libopus
+    libsecret
+    libshout
+    libsndfile
+    libusb1
+    libvorbis
+    libxcb
+    lilv
+    lv2
+    mp4v2
+    opusfile
+    pcre
+    portaudio
+    portmidi
+    protobuf
+    qtbase
+    qtkeychain
+    qtscript
+    qtsvg
+    qtx11extras
+    rubberband
+    serd
+    sord
+    soundtouch
+    sratom
+    sqlite
+    taglib
+    upower
+    vamp-plugin-sdk
+    wavpack
   ];
 
   enableParallelBuilding = true;
 
-  sconsFlags = [
-    "build=release"
-    "qtdir=${qtbase}"
-    "faad=1"
-    "opus=1"
-  ];
-
   qtWrapperArgs = [
     "--set LOCALE_ARCHIVE ${glibcLocales}/lib/locale/locale-archive"
   ];
@@ -52,7 +120,7 @@ mkDerivation rec {
     homepage = "https://mixxx.org";
     description = "Digital DJ mixing software";
     license = licenses.gpl2Plus;
-    maintainers = [ maintainers.goibhniu maintainers.bfortz ];
+    maintainers = with maintainers; [ goibhniu bfortz ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/mousai/default.nix b/nixpkgs/pkgs/applications/audio/mousai/default.nix
index 2f45a3fea92f..9044d201c457 100644
--- a/nixpkgs/pkgs/applications/audio/mousai/default.nix
+++ b/nixpkgs/pkgs/applications/audio/mousai/default.nix
@@ -1,7 +1,6 @@
 { lib
 , python3
 , fetchFromGitHub
-, fetchpatch
 , appstream-glib
 , desktop-file-utils
 , gettext
@@ -19,7 +18,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "mousai";
-  version = "0.4.1";
+  version = "0.4.2";
 
   format = "other";
 
@@ -27,17 +26,9 @@ python3.pkgs.buildPythonApplication rec {
     owner = "SeaDve";
     repo = "Mousai";
     rev = "v${version}";
-    sha256 = "sha256-AfR5n1dIm9X5OoPiikQEhHBFQq0rmQH4h7cCJ2yXoXI=";
+    sha256 = "sha256-zH++GGFIz3oxkKOYB4zhY6yL3vENEXxtrv8mZZ+41kU=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "fix-ABI-breakage-from-libadwaita.patch";
-      url = "https://github.com/SeaDve/Mousai/commit/e3db2d9d1949300f49399209b56d667746e539df.patch";
-      sha256 = "078kvmyhw4jd1m2npai0yl00lwh47jys2n03pkgxp6jf873y83vs";
-    })
-  ];
-
   postPatch = ''
     patchShebangs build-aux/meson
   '';
diff --git a/nixpkgs/pkgs/applications/audio/openmpt123/default.nix b/nixpkgs/pkgs/applications/audio/openmpt123/default.nix
index 5d1888895166..3bfb1a5a4da8 100644
--- a/nixpkgs/pkgs/applications/audio/openmpt123/default.nix
+++ b/nixpkgs/pkgs/applications/audio/openmpt123/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "openmpt123";
-  version = "0.5.9";
+  version = "0.5.10";
 
   src = fetchurl {
     url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz";
-    sha256 = "0h86p8mnpm98vc4v6jbvrmm02fch7dnn332i26fg3a2s1738m04d";
+    sha256 = "sha256-Waj6KNi432nLf6WXK9+TEIHatOHhFWxpoaU7ZcK+n/o=";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/applications/audio/pianoteq/default.nix b/nixpkgs/pkgs/applications/audio/pianoteq/default.nix
new file mode 100644
index 000000000000..9c258f69f664
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/pianoteq/default.nix
@@ -0,0 +1,200 @@
+{ lib, stdenv, curl, gnugrep, jq, xorg, alsa-lib, freetype, p7zip, autoPatchelfHook, writeShellScript, zlib, libjack2, makeWrapper }:
+let
+  versionForFile = v: builtins.replaceStrings ["."] [""] v;
+
+  mkPianoteq = { name, src, version, archdir, ... }:
+    stdenv.mkDerivation rec {
+      inherit src version;
+
+      pname = "pianoteq-${name}";
+
+      unpackPhase = ''
+        ${p7zip}/bin/7z x $src
+      '';
+
+      nativeBuildInputs = [
+        autoPatchelfHook
+        makeWrapper
+      ];
+
+      buildInputs = [
+        stdenv.cc.cc.lib
+        xorg.libX11      # libX11.so.6
+        xorg.libXext     # libXext.so.6
+        alsa-lib          # libasound.so.2
+        freetype         # libfreetype.so.6
+      ];
+
+      installPhase = ''
+        mkdir -p $out/bin
+        mv -t $out/bin Pianoteq*/${archdir}/*
+        for f in $out/bin/Pianoteq*; do
+          if [ -x "$f" ] && [ -f "$f" ]; then
+            wrapProgram "$f" --prefix LD_LIBRARY_PATH : ${
+              lib.makeLibraryPath (buildInputs ++ [
+                xorg.libXcursor
+                xorg.libXinerama
+                xorg.libXrandr
+                libjack2
+                zlib
+              ])
+            }
+          fi
+        done
+      '';
+
+      meta = with lib; {
+        homepage = "https://www.modartt.com/pianoteq";
+        description = "Software synthesizer that features real-time MIDI-control of digital physically modeled pianos and related instruments";
+        license = licenses.unfree;
+        platforms = [ "x86_64-linux" ]; # TODO extract binary according to each platform?
+        maintainers = [ maintainers.mausch ];
+      };
+    };
+
+  fetchWithCurlScript = { name, sha256, script, impureEnvVars ? [] }:
+    stdenv.mkDerivation {
+      inherit name;
+      builder = writeShellScript "builder.sh" ''
+        source $stdenv/setup
+
+        curlVersion=$(${curl}/bin/curl -V | head -1 | cut -d' ' -f2)
+
+        # Curl flags to handle redirects, not use EPSV, handle cookies for
+        # servers to need them during redirects, and work on SSL without a
+        # certificate (this isn't a security problem because we check the
+        # cryptographic hash of the output anyway).
+        curl=(
+            ${curl}/bin/curl
+            --location
+            --max-redirs 20
+            --retry 3
+            --disable-epsv
+            --cookie-jar cookies
+            --insecure
+            --user-agent "curl/$curlVersion Nixpkgs/${lib.trivial.release}"
+            $NIX_CURL_FLAGS
+        )
+
+        ${script}
+
+      '';
+      nativeBuildInputs = [ curl ];
+      outputHashAlgo = "sha256";
+      outputHash = sha256;
+
+      impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ impureEnvVars ++ [
+        # This variable allows the user to pass additional options to curl
+        "NIX_CURL_FLAGS"
+      ];
+    };
+
+  fetchPianoteqTrial = { name, sha256 }:
+    fetchWithCurlScript {
+      inherit name sha256;
+      script = ''
+          "''${curl[@]}" --silent --request POST \
+            --cookie cookies \
+            --header "modartt-json: request" \
+            --header "origin: https://www.modartt.com" \
+            --header "content-type: application/json; charset=UTF-8" \
+            --header "accept: application/json, text/javascript, */*" \
+            --data-raw '{"file": "${name}", "get": "url"}' \
+            https://www.modartt.com/json/download -o /dev/null
+          json=$(
+            "''${curl[@]}" --silent --request POST \
+            --cookie cookies \
+            --header "modartt-json: request" \
+            --header "origin: https://www.modartt.com" \
+            --header "content-type: application/json; charset=UTF-8" \
+            --header "accept: application/json, text/javascript, */*" \
+            --data-raw '{"file": "${name}", "get": "url"}' \
+            https://www.modartt.com/json/download
+          )
+          url=$(echo $json | ${jq}/bin/jq -r .url)
+          "''${curl[@]}" --progress-bar --cookie cookies -o $out "$url"
+      '';
+    };
+
+  fetchPianoteqWithLogin = { name, sha256 }:
+    fetchWithCurlScript {
+      inherit name sha256;
+
+      impureEnvVars = [ "NIX_MODARTT_USERNAME" "NIX_MODARTT_PASSWORD" ];
+
+      script = ''
+        if [ -z "''${NIX_MODARTT_USERNAME}" -o -z "''${NIX_MODARTT_PASSWORD}" ]; then
+          echo "Error: Downloading a personal Pianoteq instance requires the nix building process (nix-daemon in multi user mode) to have the NIX_MODARTT_USERNAME and NIX_MODARTT_PASSWORD env vars set." >&2
+          exit 1
+        fi
+
+        "''${curl[@]}" -s -o /dev/null "https://www.modartt.com/user_area"
+
+        ${jq}/bin/jq -n "{connect: 1, login: \"''${NIX_MODARTT_USERNAME}\", password: \"''${NIX_MODARTT_PASSWORD}\"}" > login.json
+
+        "''${curl[@]}" --silent --request POST \
+          --cookie cookies \
+          --referer "https://www.modartt.com/user_area" \
+          --header "modartt-json: request" \
+          --header "origin: https://www.modartt.com" \
+          --header "content-type: application/json; charset=UTF-8" \
+          --header "accept: application/json, text/javascript, */*" \
+          --data @login.json \
+          https://www.modartt.com/json/session
+
+        json=$(
+          "''${curl[@]}" --silent --request POST \
+          --cookie cookies \
+          --header "modartt-json: request" \
+          --header "origin: https://www.modartt.com" \
+          --header "content-type: application/json; charset=UTF-8" \
+          --header "accept: application/json, text/javascript, */*" \
+          --data-raw '{"file": "${name}", "get": "url"}' \
+          https://www.modartt.com/json/download
+        )
+        url=$(echo $json | ${jq}/bin/jq -r .url)
+
+        "''${curl[@]}" --progress-bar --cookie cookies -o $out "$url"
+      '';
+    };
+
+in {
+  # TODO currently can't install more than one because `lame` clashes
+  stage-trial = mkPianoteq rec {
+    name = "stage-trial";
+    version = "7.4.1";
+    archdir = "x86-64bit";
+    src = fetchPianoteqTrial {
+      name = "pianoteq_stage_linux_trial_v${versionForFile version}.7z";
+      sha256 = "14mbaz6i1rxqayrjjkck9yx8iijkm4q1qz29ymkd7sz2gpk7fcpa";
+    };
+  };
+  standard-trial = mkPianoteq rec {
+    name = "standard-trial";
+    version = "7.4.1";
+    archdir = "x86-64bit";
+    src = fetchPianoteqTrial {
+      name = "pianoteq_linux_trial_v${versionForFile version}.7z";
+      sha256 = "01xh4n0h7dd3xqhm0bx0a62mqmfvxvmr5cm5r2g249c9wqg5i32a";
+    };
+  };
+  stage-6 = mkPianoteq rec {
+    name = "stage-6";
+    version = "6.7.3";
+    archdir = "amd64";
+    src = fetchPianoteqWithLogin {
+      name = "pianoteq_stage_linux_v${versionForFile version}.7z";
+      sha256 = "0jy0hkdynhwv0zhrqkby0hdphgmcc09wxmy74rhg9afm1pzl91jy";
+    };
+  };
+  stage-7 = mkPianoteq rec {
+    name = "stage-7";
+    version = "7.3.0";
+    archdir = "x86-64bit";
+    src = fetchPianoteqWithLogin {
+      name = "pianoteq_stage_linux_v${versionForFile version}.7z";
+      sha256 = "05w7sv9v38r6ljz9xai816w5z2qqwx88hcfjm241fvgbs54125hx";
+    };
+  };
+  # TODO other paid binaries, I don't own that so I don't know their hash.
+}
diff --git a/nixpkgs/pkgs/applications/audio/picard/default.nix b/nixpkgs/pkgs/applications/audio/picard/default.nix
index 49aa0ba47147..dc030cc708b5 100644
--- a/nixpkgs/pkgs/applications/audio/picard/default.nix
+++ b/nixpkgs/pkgs/applications/audio/picard/default.nix
@@ -40,7 +40,7 @@ pythonPackages.buildPythonApplication rec {
 
   propagatedBuildInputs = with pythonPackages; [
     chromaprint
-    dateutil
+    python-dateutil
     discid
     fasteners
     mutagen
diff --git a/nixpkgs/pkgs/applications/audio/plexamp/default.nix b/nixpkgs/pkgs/applications/audio/plexamp/default.nix
index a7289cc35c81..9921c1b7e88b 100644
--- a/nixpkgs/pkgs/applications/audio/plexamp/default.nix
+++ b/nixpkgs/pkgs/applications/audio/plexamp/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "plexamp";
-  version = "3.4.7";
+  version = "3.5.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://plexamp.plex.tv/plexamp.plex.tv/desktop/Plexamp-${version}.AppImage";
     name="${pname}-${version}.AppImage";
-    sha512 = "+jmx4X9KiK1Tv2Cjb/445MY9G2b7pLdKxFtBFMaQwRhqTItA33MfHqKBwmytmbEhxhy0LDTU2woJvEMPQCmnvg==";
+    sha512 = "NjhrtGQsIbNDmGPEDmEbaHSfvUTFb1e7yPorF/BzWTfwVoFZEJiNzP/1k+zTJ4Yfd4mG0W0GYx0jh8m/micWIg==";
   };
 
   appimageContents = appimageTools.extractType2 {
@@ -34,7 +34,7 @@ in appimageTools.wrapType2 {
   meta = with lib; {
     description = "A beautiful Plex music player for audiophiles, curators, and hipsters";
     homepage = "https://plexamp.com/";
-    changelog = "https://forums.plex.tv/t/plexamp-release-notes/221280/29";
+    changelog = "https://forums.plex.tv/t/plexamp-release-notes/221280/30";
     license = licenses.unfree;
     maintainers = with maintainers; [ killercup synthetica ];
     platforms = [ "x86_64-linux" ];
diff --git a/nixpkgs/pkgs/applications/audio/praat/default.nix b/nixpkgs/pkgs/applications/audio/praat/default.nix
index 239b62a40266..66a14fa05b28 100644
--- a/nixpkgs/pkgs/applications/audio/praat/default.nix
+++ b/nixpkgs/pkgs/applications/audio/praat/default.nix
@@ -1,30 +1,34 @@
-{ lib, stdenv, fetchurl, alsa-lib, gtk2, pkg-config }:
+{ lib, stdenv, fetchFromGitHub, pkg-config, wrapGAppsHook, alsa-lib, gtk3, libpulseaudio }:
 
 stdenv.mkDerivation rec {
   pname = "praat";
-  version = "6.0.43";
+  version = "6.1.50";
 
-  src = fetchurl {
-    url = "https://github.com/praat/praat/archive/v${version}.tar.gz";
-    sha256 = "1l13bvnl7sv8v6s5z63201bhzavnj6bnqcj446akippsam13z4sf";
+  src = fetchFromGitHub {
+    owner = "praat";
+    repo = "praat";
+    rev = "v${version}";
+    sha256 = "11cw4292pml71hdnfy8y91blwyh45dyam1ywr09355zk44c5njpq";
   };
 
   configurePhase = ''
-    cp makefiles/makefile.defs.linux.alsa makefile.defs
+    cp makefiles/makefile.defs.linux.pulse makefile.defs
   '';
 
   installPhase = ''
-    mkdir -p $out/bin
-    cp praat $out/bin
+    install -Dt $out/bin praat
   '';
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ alsa-lib gtk2 ];
+  nativeBuildInputs = [ pkg-config wrapGAppsHook ];
+  buildInputs = [ alsa-lib gtk3 libpulseaudio ];
 
-  meta = {
+  enableParallelBuilding = true;
+
+  meta = with lib; {
     description = "Doing phonetics by computer";
     homepage = "https://www.fon.hum.uva.nl/praat/";
-    license = lib.licenses.gpl2Plus; # Has some 3rd-party code in it though
-    platforms = lib.platforms.linux;
+    license = licenses.gpl2Plus; # Has some 3rd-party code in it though
+    maintainers = with maintainers; [ orivej ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/scream/default.nix b/nixpkgs/pkgs/applications/audio/scream/default.nix
index fb0ba9408d9e..c9eef3ff540a 100644
--- a/nixpkgs/pkgs/applications/audio/scream/default.nix
+++ b/nixpkgs/pkgs/applications/audio/scream/default.nix
@@ -1,26 +1,29 @@
 { stdenv, lib, config, fetchFromGitHub, cmake, pkg-config
 , alsaSupport ? stdenv.isLinux, alsa-lib
 , pulseSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio
+, jackSupport ? false, libjack2
 }:
 
 stdenv.mkDerivation rec {
   pname = "scream";
-  version = "3.6";
+  version = "3.7";
 
   src = fetchFromGitHub {
     owner = "duncanthrax";
     repo = pname;
     rev = version;
-    sha256 = "01k2zhfb781gfj3apmcjqbm5m05m6pvnh7fb5k81zwvqibai000v";
+    sha256 = "0d9abrw62cd08lcg4il415b7ap89iggbljvbl5jqv2y23il0pvyz";
   };
 
   buildInputs = lib.optional pulseSupport libpulseaudio
+    ++ lib.optional jackSupport libjack2
     ++ lib.optional alsaSupport alsa-lib;
   nativeBuildInputs = [ cmake pkg-config ];
 
   cmakeFlags = [
     "-DPULSEAUDIO_ENABLE=${if pulseSupport then "ON" else "OFF"}"
     "-DALSA_ENABLE=${if alsaSupport then "ON" else "OFF"}"
+    "-DJACK_ENABLE=${if jackSupport then "ON" else "OFF"}"
   ];
 
   cmakeDir = "../Receivers/unix";
diff --git a/nixpkgs/pkgs/applications/audio/shortwave/default.nix b/nixpkgs/pkgs/applications/audio/shortwave/default.nix
index 36ee6c12eef9..0f4ffa14228f 100644
--- a/nixpkgs/pkgs/applications/audio/shortwave/default.nix
+++ b/nixpkgs/pkgs/applications/audio/shortwave/default.nix
@@ -8,8 +8,8 @@
 , gitMinimal
 , glib
 , gst_all_1
-, gtk3
-, libhandy_0
+, gtk4
+, libadwaita
 , meson
 , ninja
 , openssl
@@ -22,20 +22,20 @@
 
 stdenv.mkDerivation rec {
   pname = "shortwave";
-  version = "1.1.1";
+  version = "2.0.1";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = "Shortwave";
     rev = version;
-    sha256 = "1vlhp2ss06j41simjrrjg38alp85jddhqyvccy6bhfzm0gzynwld";
+    sha256 = "sha256-25qPb7qlqCwYJzl4qZxAZYx5asxSlXBlc/0dGyBdk1o=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-0+KEbjTLecL0u/3S9FWf2r2h9ZrgcRTY163kS3NKJqA=";
+    hash = "sha256-00dQXcSNmdZb2nSLG3q7jm4sugF9XR4LbH0OmcuHVxA=";
   };
 
   nativeBuildInputs = [
@@ -57,8 +57,8 @@ stdenv.mkDerivation rec {
     dbus
     gdk-pixbuf
     glib
-    gtk3
-    libhandy_0
+    gtk4
+    libadwaita
     openssl
     sqlite
   ] ++ (with gst_all_1; [
diff --git a/nixpkgs/pkgs/applications/audio/tonelib-jam/default.nix b/nixpkgs/pkgs/applications/audio/tonelib-jam/default.nix
new file mode 100644
index 000000000000..c58023d6a4bd
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/tonelib-jam/default.nix
@@ -0,0 +1,60 @@
+{ stdenv
+, dpkg
+, lib
+, autoPatchelfHook
+, fetchurl
+, gtk3
+, glib
+, desktop-file-utils
+, alsa-lib
+, libjack2
+, harfbuzz
+, fribidi
+, pango
+, freetype
+}:
+
+stdenv.mkDerivation rec {
+  pname = "tonelib-jam";
+  version = "4.6.6";
+
+  src = fetchurl {
+    url = "https://www.tonelib.net/download/0509/ToneLib-Jam-amd64.deb";
+    sha256 = "sha256-cizIQgO35CQSLme/LKQqP+WzB/jCTk+fS5Z+EtF7wnQ=";
+  };
+
+  buildInputs = [
+    dpkg
+    gtk3
+    glib
+    desktop-file-utils
+    alsa-lib
+    libjack2
+    harfbuzz
+    fribidi
+    pango
+    freetype
+  ];
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+  ];
+
+  unpackPhase = ''
+    mkdir -p $TMP/ $out/
+    dpkg -x $src $TMP
+  '';
+
+  installPhase = ''
+    cp -R $TMP/usr/* $out/
+    mv $out/bin/ToneLib-Jam $out/bin/tonelib-jam
+  '';
+
+  meta = with lib; {
+    description = "ToneLib Jam – the learning and practice software for guitar players";
+    homepage = "https://tonelib.net/";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ dan4ik605743 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/audio/tonelib-zoom/default.nix b/nixpkgs/pkgs/applications/audio/tonelib-zoom/default.nix
new file mode 100644
index 000000000000..94ef3037a7c2
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/tonelib-zoom/default.nix
@@ -0,0 +1,48 @@
+{ stdenv
+, dpkg
+, lib
+, autoPatchelfHook
+, fetchurl
+, webkitgtk
+, libjack2
+, alsa-lib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "tonelib-zoom";
+  version = "4.3.1";
+
+  src = fetchurl {
+    url = "https://www.tonelib.net/download/0129/ToneLib-Zoom-amd64.deb";
+    sha256 = "sha256-4q2vM0/q7o/FracnO2xxnr27opqfVQoN7fsqTD9Tr/c=";
+  };
+
+  buildInputs = [
+    dpkg
+    webkitgtk
+    libjack2
+    alsa-lib
+  ];
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+  ];
+
+  unpackPhase = ''
+    mkdir -p $TMP/ $out/
+    dpkg -x $src $TMP
+  '';
+
+  installPhase = ''
+    cp -R $TMP/usr/* $out/
+    mv $out/bin/ToneLib-Zoom $out/bin/tonelib-zoom
+  '';
+
+  meta = with lib; {
+    description = "ToneLib Zoom – change and save all the settings in your Zoom(r) guitar pedal";
+    homepage = "https://tonelib.net/";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ dan4ik605743 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/backup/restique/default.nix b/nixpkgs/pkgs/applications/backup/restique/default.nix
new file mode 100644
index 000000000000..744379f213da
--- /dev/null
+++ b/nixpkgs/pkgs/applications/backup/restique/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, mkDerivation
+, fetchFromGitea
+, cmake
+, libsecret
+, qtkeychain
+, restic
+}:
+
+mkDerivation rec {
+  pname = "restique";
+  version = "unstable-2021-05-03";
+
+  src = fetchFromGitea {
+    domain = "git.srcbox.net";
+    owner = "stefan";
+    repo = "restique";
+    rev = "f83ea63c2e2f2a41e845f54c7fe2c391a528a121";
+    sha256 = "0j1qihv7hd90xkfm4ksv74q6m7cq781fbdnc3l4spcd7h2p8lh0z";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  buildInputs = [
+    libsecret
+    qtkeychain
+  ];
+
+  qtWrapperArgs = [
+    "--prefix" "PATH" ":" (lib.makeBinPath [ restic ])
+  ];
+
+  meta = with lib; {
+    description = "Restic GUI for Desktop/Laptop Backups";
+    homepage = "https://git.srcbox.net/stefan/restique";
+    license = with licenses; [ gpl3Plus cc-by-sa-40 cc0 ];
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/blockchains/bisq-desktop/default.nix b/nixpkgs/pkgs/applications/blockchains/bisq-desktop/default.nix
new file mode 100644
index 000000000000..ffc19765d4f6
--- /dev/null
+++ b/nixpkgs/pkgs/applications/blockchains/bisq-desktop/default.nix
@@ -0,0 +1,99 @@
+{ stdenv
+, lib
+, makeWrapper
+, fetchurl
+, makeDesktopItem
+, copyDesktopItems
+, imagemagick
+, openjdk11
+, dpkg
+, writeScript
+, coreutils
+, bash
+, tor
+, psmisc
+}:
+let
+  bisq-launcher = writeScript "bisq-launcher" ''
+    #! ${bash}/bin/bash
+
+    # Setup a temporary Tor instance
+    TMPDIR=$(${coreutils}/bin/mktemp -d)
+    CONTROLPORT=$(${coreutils}/bin/shuf -i 9100-9499 -n 1)
+    SOCKSPORT=$(${coreutils}/bin/shuf -i 9500-9999 -n 1)
+    ${coreutils}/bin/head -c 1024 < /dev/urandom > $TMPDIR/cookie
+
+    ${tor}/bin/tor --SocksPort $SOCKSPORT --ControlPort $CONTROLPORT \
+      --ControlPortWriteToFile $TMPDIR/port --CookieAuthFile $TMPDIR/cookie \
+      --CookieAuthentication 1 >$TMPDIR/tor.log --RunAsDaemon 1
+
+    torpid=$(${psmisc}/bin/fuser $CONTROLPORT/tcp)
+
+    echo Temp directory: $TMPDIR
+    echo Tor PID: $torpid
+    echo Tor control port: $CONTROLPORT
+    echo Tor SOCKS port: $SOCKSPORT
+    echo Tor log: $TMPDIR/tor.log
+    echo Bisq log file: $TMPDIR/bisq.log
+
+    JAVA_TOOL_OPTIONS="-XX:MaxRAM=4g" bisq-desktop-wrapped \
+      --torControlCookieFile=$TMPDIR/cookie \
+      --torControlUseSafeCookieAuth \
+      --torControlPort $CONTROLPORT "$@" > $TMPDIR/bisq.log
+
+    echo Bisq exited. Killing Tor...
+    kill $torpid
+  '';
+in
+stdenv.mkDerivation rec {
+  version = "1.7.0";
+  pname = "bisq-desktop";
+  nativeBuildInputs = [ makeWrapper copyDesktopItems dpkg ];
+
+  src = fetchurl {
+    url = "https://github.com/bisq-network/bisq/releases/download/v${version}/Bisq-64bit-${version}.deb";
+    sha256 = "0crry5k7crmrqn14wxiyrnhk09ac8a9ksqrwwky7jsnyah0bx5k4";
+  };
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "Bisq";
+      exec = "bisq-desktop";
+      icon = "bisq";
+      desktopName = "Bisq";
+      genericName = "Decentralized bitcoin exchange";
+      categories = "Network;Utility;";
+    })
+  ];
+
+  unpackPhase = ''
+    dpkg -x $src .
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib $out/bin
+    cp opt/bisq/lib/app/desktop-${version}-all.jar $out/lib
+
+    makeWrapper ${openjdk11}/bin/java $out/bin/bisq-desktop-wrapped \
+      --add-flags "-jar $out/lib/desktop-${version}-all.jar bisq.desktop.app.BisqAppMain"
+
+    makeWrapper ${bisq-launcher} $out/bin/bisq-desktop \
+      --prefix PATH : $out/bin
+
+    copyDesktopItems
+
+    for n in 16 24 32 48 64 96 128 256; do
+      size=$n"x"$n
+      ${imagemagick}/bin/convert opt/bisq/lib/Bisq.png -resize $size bisq.png
+      install -Dm644 -t $out/share/icons/hicolor/$size/apps bisq.png
+    done;
+  '';
+
+  meta = with lib; {
+    description = "A decentralized bitcoin exchange network";
+    homepage = "https://bisq.network";
+    license = licenses.mit;
+    maintainers = with maintainers; [ juaningan emmanuelrosa ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix b/nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix
index 7b6e3918da58..d942ac768a83 100644
--- a/nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix
@@ -15,13 +15,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "btcpayserver";
-  version = "1.1.1";
+  version = "1.1.2";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-cCm4CZdVtjO2nj69CgRCrcwO0lAbiQVD6KocOj4CSdY=";
+    sha256 = "sha256-A9XIKCw1dL4vUQYSu6WdmpR82dAbtKVTyjllquyRGgs=";
   };
 
   nativeBuildInputs = [ dotnetSdk dotnetPackages.Nuget makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/blockchains/chia/default.nix b/nixpkgs/pkgs/applications/blockchains/chia/default.nix
index 7b85a242effa..9bcc2ee3b467 100644
--- a/nixpkgs/pkgs/applications/blockchains/chia/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/chia/default.nix
@@ -16,8 +16,6 @@ python3Packages.buildPythonApplication rec {
   };
 
   patches = [
-    # tweak version requirements to what's available in Nixpkgs
-    ./dependencies.patch
     # Allow later websockets release, https://github.com/Chia-Network/chia-blockchain/pull/6304
     (fetchpatch {
       name = "later-websockets.patch";
@@ -66,6 +64,16 @@ python3Packages.buildPythonApplication rec {
     "test_spend_zero_coin"
   ];
 
+  postPatch = ''
+    # tweak version requirements to what's available in Nixpkgs
+    substituteInPlace setup.py \
+      --replace "aiohttp==3.7.4" "aiohttp>=3.7.4" \
+      --replace "sortedcontainers==2.3.0" "sortedcontainers>=2.3.0" \
+      --replace "click==7.1.2" "click>=7.1.2" \
+      --replace "clvm_rs==0.1.7" "clvm_rs>=0.1.7" \
+      --replace "clvm==0.9.6" "clvm>=0.9.6" \
+  '';
+
   preCheck = ''
     export HOME=`mktemp -d`
   '';
diff --git a/nixpkgs/pkgs/applications/blockchains/chia/dependencies.patch b/nixpkgs/pkgs/applications/blockchains/chia/dependencies.patch
deleted file mode 100644
index d9575d1d392c..000000000000
--- a/nixpkgs/pkgs/applications/blockchains/chia/dependencies.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/setup.py b/setup.py
-index c5cf95db..b783a9e6 100644
---- a/setup.py
-+++ b/setup.py
-@@ -8,7 +8,7 @@ dependencies = [
-     "clvm==0.9.6",
-     "clvm_rs==0.1.7",
-     "clvm_tools==0.4.3",
--    "aiohttp==3.7.4",  # HTTP server for full node rpc
-+    "aiohttp==3.7.4.post0",  # HTTP server for full node rpc
-     "aiosqlite==0.17.0",  # asyncio wrapper for sqlite, to store blocks
-     "bitstring==3.1.7",  # Binary data management library
-     "colorlog==5.0.1",  # Adds color to logs
diff --git a/nixpkgs/pkgs/applications/blockchains/electrs.nix b/nixpkgs/pkgs/applications/blockchains/electrs.nix
index af0346196a32..cf2f4d3d47eb 100644
--- a/nixpkgs/pkgs/applications/blockchains/electrs.nix
+++ b/nixpkgs/pkgs/applications/blockchains/electrs.nix
@@ -6,20 +6,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "electrs";
-  version = "0.8.9";
+  version = "0.8.10";
 
   src = fetchFromGitHub {
     owner = "romanz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "01fli2k5yh4iwlds97p5c36q19s3zxrqhkzp9dsjbgsf7sv35r3y";
+    sha256 = "0q7mvpflnzzm88jbsdxgvhk9jr5mvn23hhj2iwy2grnfngxsmz3y";
   };
 
   # needed for librocksdb-sys
   nativeBuildInputs = [ llvmPackages.clang ];
   LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
 
-  cargoSha256 = "1rqpadlr9r4z2z825li6vi5a21hivc3bsn5ibxshrdrwiycyyxz8";
+  cargoSha256 = "0i8npa840g4kz50n6x40z22x9apq8snw6xgjz4vn2kh67xc4c738";
 
   meta = with lib; {
     description = "An efficient re-implementation of Electrum Server in Rust";
diff --git a/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix
index 298ae39716bb..0692f40e35f1 100644
--- a/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "ledger-live-desktop";
-  version = "2.26.1";
+  version = "2.29.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage";
-    sha256 = "0zbzqq3c0q45dz4vvgfbvqcgda7413mnwixi7yi78qb9mp8zxkhy";
+    sha256 = "1y4xvnwh2mqbc39pmnpgjg8mlx208s2pipm7dazq4bgmay7k9zh0";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/nixpkgs/pkgs/applications/blockchains/lightwalletd/default.nix b/nixpkgs/pkgs/applications/blockchains/lightwalletd/default.nix
new file mode 100644
index 000000000000..0c95dde0f15b
--- /dev/null
+++ b/nixpkgs/pkgs/applications/blockchains/lightwalletd/default.nix
@@ -0,0 +1,37 @@
+{ buildGoModule, fetchFromGitHub, lib }:
+
+buildGoModule rec {
+  pname = "lightwalletd";
+  version = "0.4.7";
+
+  src = fetchFromGitHub {
+    owner = "zcash";
+    repo  = "lightwalletd";
+    rev = "v${version}";
+    sha256 = "0dwam3fhc4caga7kjg6cc06sz47g4ii7n3sa4j2ac4aiy21hsbjk";
+  };
+
+  vendorSha256 = null;
+
+  ldflags = [
+    "-s" "-w"
+    "-X github.com/zcash/lightwalletd/common.Version=v${version}"
+    "-X github.com/zcash/lightwalletd/common.GitCommit=v${version}"
+    "-X github.com/zcash/lightwalletd/common.BuildDate=1970-01-01"
+    "-X github.com/zcash/lightwalletd/common.BuildUser=nixbld"
+  ];
+
+  postFixup = ''
+    shopt -s extglob
+    cd $out/bin
+    rm !(lightwalletd)
+  '';
+
+  meta = with lib; {
+    description = "A backend service that provides a bandwidth-efficient interface to the Zcash blockchain";
+    homepage = "https://github.com/zcash/lightwalletd";
+    maintainers = with maintainers; [ centromere ];
+    license = licenses.mit;
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/blockchains/nbxplorer/default.nix b/nixpkgs/pkgs/applications/blockchains/nbxplorer/default.nix
index 7e279b226961..40deef62c2ce 100644
--- a/nixpkgs/pkgs/applications/blockchains/nbxplorer/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/nbxplorer/default.nix
@@ -15,13 +15,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "nbxplorer";
-  version = "2.1.51";
+  version = "2.1.52";
 
   src = fetchFromGitHub {
     owner = "dgarage";
     repo = "NBXplorer";
     rev = "v${version}";
-    sha256 = "sha256-tvuuoDZCSDFa8gAVyH+EP1DLtdPfbkr+w5lSxZkzZXg=";
+    sha256 = "sha256-+BP71TQ8BTGZ/SbS7CrI4D7hcQaVLt+hCpInbOdU5GY=";
   };
 
   nativeBuildInputs = [ dotnetSdk dotnetPackages.Nuget makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/blockchains/nbxplorer/deps.nix b/nixpkgs/pkgs/applications/blockchains/nbxplorer/deps.nix
index de75ad228d3a..b7b01b14bff5 100644
--- a/nixpkgs/pkgs/applications/blockchains/nbxplorer/deps.nix
+++ b/nixpkgs/pkgs/applications/blockchains/nbxplorer/deps.nix
@@ -181,23 +181,23 @@
   })
   (fetchNuGet {
     name = "NBitcoin.Altcoins";
-    version = "2.0.31";
-    sha256 = "13gcfsxpfq8slmsvgzf6iv581x7n535zq0p9c88bqs5p88r6lygm";
+    version = "2.0.33";
+    sha256 = "12r4w89247xzrl2g01iv13kg1wl7gzfz1zikimx6dyhr4iipbmgf";
   })
   (fetchNuGet {
     name = "NBitcoin.TestFramework";
-    version = "2.0.22";
-    sha256 = "1zwhjy6xppl01jhkgl7lqjsmi8crny4qq22ml20cz8l437j1zi4n";
+    version = "2.0.23";
+    sha256 = "03jw3gay7brm7s7jwn4zbk1n1sq7gck523cx3ckx87v3wi2062lx";
   })
   (fetchNuGet {
     name = "NBitcoin";
-    version = "5.0.76";
-    sha256 = "0q3ilmsrw9ip1s38qmfs4qi02xvccmy1naafffn5yxj08q0n1p79";
+    version = "5.0.78";
+    sha256 = "1mfn045l489bm2xgjhvddhfy4xxcy42q6jhq4nyd6fnxg4scxyg9";
   })
   (fetchNuGet {
     name = "NBitcoin";
-    version = "5.0.77";
-    sha256 = "0ykz4ii6lh6gdlz6z264wnib5pfnmq9q617qqbg0f04mq654jygb";
+    version = "5.0.81";
+    sha256 = "1fba94kc8yzykb1m5lvpx1hm63mpycpww9cz5zfp85phs1spdn8x";
   })
   (fetchNuGet {
     name = "NETStandard.Library";
diff --git a/nixpkgs/pkgs/applications/blockchains/polkadot/default.nix b/nixpkgs/pkgs/applications/blockchains/polkadot/default.nix
index 8c549ee4e796..a1f0b17b2020 100644
--- a/nixpkgs/pkgs/applications/blockchains/polkadot/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/polkadot/default.nix
@@ -7,16 +7,16 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "polkadot";
-  version = "0.9.7";
+  version = "0.9.8";
 
   src = fetchFromGitHub {
     owner = "paritytech";
     repo = "polkadot";
     rev = "v${version}";
-    sha256 = "sha256-swPLJIcm8XD0+/e9pGK2bDqUb7AS/5FdQ3A7Ceh5dZc=";
+    sha256 = "sha256-5PNogoahAZUjIlQsVXwm7j5OmP3/uEEdV0vrIDXXBx8=";
   };
 
-  cargoSha256 = "sha256-4njx8T3kzyN63Jo0aHee5ImqcObiADvi+dHKWcRmbQw=";
+  cargoSha256 = "0iikys90flzmnnb6l2wzag8mp91p6z9y7rjzym2sd6m7xhgbc1x6";
 
   nativeBuildInputs = [ clang ];
 
diff --git a/nixpkgs/pkgs/applications/blockchains/trezor-suite/default.nix b/nixpkgs/pkgs/applications/blockchains/trezor-suite/default.nix
index bd9e26ae73ab..4bb5f1f7a6b4 100644
--- a/nixpkgs/pkgs/applications/blockchains/trezor-suite/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/trezor-suite/default.nix
@@ -46,7 +46,7 @@ appimageTools.wrapType2 rec {
     install -m 444 -D ${appimageContents}/${pname}.png $out/share/icons/hicolor/512x512/apps/${pname}.png
     install -m 444 -D ${appimageContents}/resources/images/icons/512x512.png $out/share/icons/hicolor/512x512/apps/${pname}.png
     substituteInPlace $out/share/applications/${pname}.desktop \
-      --replace 'Exec=AppRun' 'Exec=${pname}'
+      --replace 'Exec=AppRun --no-sandbox %U' 'Exec=${pname}'
 
     # symlink system binaries instead bundled ones
     mkdir -p $out/share/${pname}/resources/bin/{bridge,tor}
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
index 946cef998c1e..8a87889e7028 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
@@ -640,10 +640,10 @@
       elpaBuild {
         pname = "consult";
         ename = "consult";
-        version = "0.8";
+        version = "0.9";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/consult-0.8.tar";
-          sha256 = "0vkq8dsj6k3gsdhiyg6ccv49fqgjw6f0db4wjsvm5zbkadjvlm86";
+          url = "https://elpa.gnu.org/packages/consult-0.9.tar";
+          sha256 = "1n3bnvgj92fjd9dai9f95wvyfb20yhaw7b722lkqjg42i10jqzfn";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -670,10 +670,10 @@
       elpaBuild {
         pname = "corfu";
         ename = "corfu";
-        version = "0.8";
+        version = "0.9";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/corfu-0.8.tar";
-          sha256 = "1qrrky1g4k5vw56435dgkwnmnri7i51gkydd76as3l0ixm4pnp05";
+          url = "https://elpa.gnu.org/packages/corfu-0.9.tar";
+          sha256 = "0710bq07j6w6zm49ci1bbx580frdbc62b3hbxwzkwm5204nf78bf";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -835,10 +835,10 @@
       elpaBuild {
         pname = "devdocs";
         ename = "devdocs";
-        version = "0.1";
+        version = "0.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/devdocs-0.1.tar";
-          sha256 = "1ps2jpp1ckq9839l63p6npqrf85b8zb5akwvjvv7fkm8nvspdkil";
+          url = "https://elpa.gnu.org/packages/devdocs-0.2.tar";
+          sha256 = "1npc7yra7pvf86ahmz1h7hnjxrz15ar1vjcalg4ilizypycpgrwj";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1015,10 +1015,10 @@
       elpaBuild {
         pname = "ebdb";
         ename = "ebdb";
-        version = "0.6.23";
+        version = "0.6.24";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ebdb-0.6.23.tar";
-          sha256 = "0j3jvy9s606qjqcmcjzgck3dp8bhpgly2g00wnswzcgk4makdzld";
+          url = "https://elpa.gnu.org/packages/ebdb-0.6.24.tar";
+          sha256 = "0156rh6fkv2yp509h6i8qzh4gsda2mcmfrxl4r6ywn1z5ahijc3r";
         };
         packageRequires = [ cl-lib emacs seq ];
         meta = {
@@ -1075,10 +1075,10 @@
       elpaBuild {
         pname = "eev";
         ename = "eev";
-        version = "20210607";
+        version = "20210618";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/eev-20210607.tar";
-          sha256 = "0avd58m8630s4d3ys9g84csscdmf2y1swwwkgzjkrrq8q0j5yd3l";
+          url = "https://elpa.gnu.org/packages/eev-20210618.tar";
+          sha256 = "13sb9shpj9fhns8sl3dxdgnn8z4wf14mgi4s87k5x4nrr012sscf";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1198,10 +1198,10 @@
       elpaBuild {
         pname = "emms";
         ename = "emms";
-        version = "7.2";
+        version = "7.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/emms-7.2.tar";
-          sha256 = "11vqqh9rnzibsfw7wx62rgzl8i8ldpf0hv1sj43nhl5c6dlc8d5z";
+          url = "https://elpa.gnu.org/packages/emms-7.5.tar";
+          sha256 = "0d7nsx2idzbp6d5im5rrsnwppbr2cimvxgx31bhwsm2aq3ya5v2j";
         };
         packageRequires = [ cl-lib nadvice seq ];
         meta = {
@@ -1867,10 +1867,10 @@
       elpaBuild {
         pname = "ivy-posframe";
         ename = "ivy-posframe";
-        version = "0.6.0";
+        version = "0.6.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ivy-posframe-0.6.0.tar";
-          sha256 = "07dzglrcdl54lkznyphw97xwd9bcwzdcgzkav0vqfk7f5cwh1wkf";
+          url = "https://elpa.gnu.org/packages/ivy-posframe-0.6.1.tar";
+          sha256 = "1nay2sfbwm2fkp3f1y89innd9h6j3q70q9y4yddrwa69cxlj9m23";
         };
         packageRequires = [ emacs ivy posframe ];
         meta = {
@@ -2017,10 +2017,10 @@
       elpaBuild {
         pname = "leaf";
         ename = "leaf";
-        version = "4.4.8";
+        version = "4.5.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/leaf-4.4.8.tar";
-          sha256 = "0h0ksmgrhn29ci6z8y54dbbzcqlvfs1ra0kmf226gz0dqzk45vb3";
+          url = "https://elpa.gnu.org/packages/leaf-4.5.2.tar";
+          sha256 = "0i90shhhkpdcwmfi8zv0008qgmg4g3cqd2yvpycfv9n2axvhag54";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2152,10 +2152,10 @@
       elpaBuild {
         pname = "marginalia";
         ename = "marginalia";
-        version = "0.6";
+        version = "0.7";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/marginalia-0.6.tar";
-          sha256 = "05pwaz9643shxnv63l6r9m2c0qf1nc1hy6jiqw01bkvvgg8g4jag";
+          url = "https://elpa.gnu.org/packages/marginalia-0.7.tar";
+          sha256 = "1nz55nx6xp72nahs4g6asl5y5yrlnlnza58bjrlwwzmwsf7daz18";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2829,10 +2829,10 @@
       elpaBuild {
         pname = "posframe";
         ename = "posframe";
-        version = "1.0.3";
+        version = "1.0.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/posframe-1.0.3.tar";
-          sha256 = "0c3lnrydsysv8j25brgc0cckf1hz54yhkginncmw81y1ia43rqmx";
+          url = "https://elpa.gnu.org/packages/posframe-1.0.4.tar";
+          sha256 = "0i2pw90gw9zb22gj8yyvcp3b2k1bxxhbjj0idvr5iz1vd9023bc6";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2889,10 +2889,10 @@
       elpaBuild {
         pname = "pyim";
         ename = "pyim";
-        version = "3.7.9";
+        version = "3.8.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/pyim-3.7.9.tar";
-          sha256 = "00ff1izdwcy53dcwpdn18wwndnw2jsw4bhg8gkqaa60xm468xzkl";
+          url = "https://elpa.gnu.org/packages/pyim-3.8.2.tar";
+          sha256 = "05sgciqb0hzy07j8pvbg7h2vpa9z5z60m6pknxd3b1kpi45vaihw";
         };
         packageRequires = [ async emacs xr ];
         meta = {
@@ -3355,10 +3355,10 @@
       elpaBuild {
         pname = "setup";
         ename = "setup";
-        version = "0.2.0";
+        version = "0.2.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/setup-0.2.0.tar";
-          sha256 = "1xhjkyksilw1vbx12a4yz4bpj0dhl3m02yi8d9nyd19z098cfa9y";
+          url = "https://elpa.gnu.org/packages/setup-0.2.1.tar";
+          sha256 = "15paand086g33w2vb6jkyxd3i2pmpp84f31y3j5v8w9ia68pjzms";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3595,10 +3595,10 @@
       elpaBuild {
         pname = "sql-indent";
         ename = "sql-indent";
-        version = "1.5";
+        version = "1.6";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/sql-indent-1.5.tar";
-          sha256 = "07k5rn9hbxppnka7nq0a3a6zyqqa1hp8j6qrb344js6zyak0cb63";
+          url = "https://elpa.gnu.org/packages/sql-indent-1.6.tar";
+          sha256 = "000pimlg0k4mrv2wpqq8w8l51wpr1lzlaq6ai8iaximm2a92ap5b";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -3610,10 +3610,10 @@
       elpaBuild {
         pname = "ssh-deploy";
         ename = "ssh-deploy";
-        version = "3.1.12";
+        version = "3.1.13";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ssh-deploy-3.1.12.tar";
-          sha256 = "0fz49l63jfw9zy459f07bq2irdb8ispnx8m2c3wxwiim9yw5xnjg";
+          url = "https://elpa.gnu.org/packages/ssh-deploy-3.1.13.tar";
+          sha256 = "006jr8yc5qvxdfk0pn40604a2b7a1ah6l6hi6rhxm3p5b08d9i5w";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3779,10 +3779,10 @@
       elpaBuild {
         pname = "tramp";
         ename = "tramp";
-        version = "2.5.0.5";
+        version = "2.5.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/tramp-2.5.0.5.tar";
-          sha256 = "1dclxffynfacvwi2scpda35sxjb42603yyf2p0477qa9b0i4xha0";
+          url = "https://elpa.gnu.org/packages/tramp-2.5.1.tar";
+          sha256 = "1r7wifhzy2ipdlc4fqnx6549fnx45ggz57wh0cp7s6y25761si7q";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3824,10 +3824,10 @@
       elpaBuild {
         pname = "transient";
         ename = "transient";
-        version = "0.3.4";
+        version = "0.3.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/transient-0.3.4.tar";
-          sha256 = "1m71w52cr8f9wm6lybfa003w408lkrl6q9whs53hpp3pl5phhfvb";
+          url = "https://elpa.gnu.org/packages/transient-0.3.5.tar";
+          sha256 = "15dlj21gn0zxywic9wdcp5zc8skm1s170bq7smgkpd3p3lxslf68";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3949,6 +3949,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    vc-hgcmd = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "vc-hgcmd";
+        ename = "vc-hgcmd";
+        version = "1.14";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/vc-hgcmd-1.14.tar";
+          sha256 = "0pg6fg0znsmky3iwdpxn2sx5bbn72kw83s077000ilawi6zqwc2d";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/vc-hgcmd.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     vcard = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "vcard";
@@ -4015,10 +4030,10 @@
       elpaBuild {
         pname = "vertico";
         ename = "vertico";
-        version = "0.11";
+        version = "0.12";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/vertico-0.11.tar";
-          sha256 = "0hzwddkac85i449173az8crlksj9ivrqf969r81kbr45ksgr1ij6";
+          url = "https://elpa.gnu.org/packages/vertico-0.12.tar";
+          sha256 = "14qlc438bysg23wfj04zpvpraqzzi4jlz3r11vc56vd0k2hfmvmn";
         };
         packageRequires = [ emacs ];
         meta = {
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/org-generated.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/org-generated.nix
index b70032982c01..e5f6f1aa7c9e 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/org-generated.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/org-generated.nix
@@ -4,10 +4,10 @@
       elpaBuild {
         pname = "org";
         ename = "org";
-        version = "20210607";
+        version = "20210628";
         src = fetchurl {
-          url = "https://orgmode.org/elpa/org-20210607.tar";
-          sha256 = "178z9bnzcdaymnwxf0kkw1yzlzkj5dmdjjwdklc9qb9iv6rckfji";
+          url = "https://orgmode.org/elpa/org-20210628.tar";
+          sha256 = "1sn2yyynndk8qf43ss8bayll33r4ina8xfx4ywzcs3m1lm6xy1zl";
         };
         packageRequires = [];
         meta = {
@@ -19,10 +19,10 @@
       elpaBuild {
         pname = "org-plus-contrib";
         ename = "org-plus-contrib";
-        version = "20210607";
+        version = "20210628";
         src = fetchurl {
-          url = "https://orgmode.org/elpa/org-plus-contrib-20210607.tar";
-          sha256 = "03liivgfcmp0lh6p57bh2gyn85n3sc4p91y374kq8kzc7fzrgzyr";
+          url = "https://orgmode.org/elpa/org-plus-contrib-20210628.tar";
+          sha256 = "0r4kxp1hbhkwvi7939fglng8db4h4n7vigy8pd2gia3a02xcw8l5";
         };
         packageRequires = [];
         meta = {
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
index 1429040e4158..86d117b89561 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
@@ -25,26 +25,26 @@
  },
  {
   "ename": "0x0",
-  "commit": "a48b10b770038efc606fbbbedf79178d3b05186c",
-  "sha256": "1nkc5hfz77s37a1rp8m69f7zbk05jc1y1fcj0b46h9khyz6zbm01",
+  "commit": "982788433004ba644a372c50130613e3c56bba10",
+  "sha256": "0447s6jq57g0p5myb295930wyqk7q5qj00r8qi3l39670xsgbqdl",
   "fetcher": "git",
-  "url": "https://git.sr.ht/~zge/nullpointer-emacs",
+  "url": "https://git.sr.ht/~pkal/nullpointer-emacs",
   "unstable": {
    "version": [
-    20210512,
-    1001
+    20210628,
+    1207
    ],
-   "commit": "655846fd3ce772950d30167b4b9be6ce64502ae7",
-   "sha256": "0y4v72pmjjly2kxrrwks2z35qbc76109pnqpj637fpjr190c468l"
+   "commit": "a613afa08271a75551a4d2165b4ab872b131edc0",
+   "sha256": "1ngaq8ldyv9h0g5c83y4g5z1a19z4k90dha5y4g7v3lpzmqx4jgn"
   },
   "stable": {
    "version": [
     0,
     4,
-    2
+    3
    ],
-   "commit": "655846fd3ce772950d30167b4b9be6ce64502ae7",
-   "sha256": "0y4v72pmjjly2kxrrwks2z35qbc76109pnqpj637fpjr190c468l"
+   "commit": "ab3e213607e6349aecc0063332972ac40506edd9",
+   "sha256": "1aywyarjl8fghy5py05rd64sidhkla0xzks1596p1gwpk5pm7n0n"
   }
  },
  {
@@ -741,10 +741,10 @@
  },
  {
   "ename": "ac-html",
-  "commit": "3416586d4d782cdd61a56159c5f80a0ca9b3ddf4",
-  "sha256": "1vidmvylwwvraf8k63dvxv47ism49n6pp0f38l5rl4iaznhkdr84",
+  "commit": "28430d3db6e21cec8b138ef09320aeed711e58f9",
+  "sha256": "1fhrvww7sds90b4ka16sp79pjbjwrrl6ycp65pfc4b2cg1bq1w7m",
   "fetcher": "github",
-  "repo": "zhangkaiyulw/ac-html",
+  "repo": "victorteokw/ac-html",
   "unstable": {
    "version": [
     20151005,
@@ -1029,8 +1029,8 @@
     "auto-complete",
     "yasnippet"
    ],
-   "commit": "9770c95bf2df93d9cb0f200723b03b3d9a480640",
-   "sha256": "188z1i209z61nwfcgffgp90rdcsnl75izxpqv4x1vbaay5fvg33f"
+   "commit": "8a0dc9888de87ea3aace06628bff52ed32f3ca2b",
+   "sha256": "1xcsm72by6jiqr9y9fyk70nshsj5dj494faz9734m67fmxq45pfj"
   },
   "stable": {
    "version": [
@@ -1055,8 +1055,8 @@
   "repo": "xcwen/ac-php",
   "unstable": {
    "version": [
-    20210218,
-    559
+    20210617,
+    949
    ],
    "deps": [
     "dash",
@@ -1066,8 +1066,8 @@
     "s",
     "xcscope"
    ],
-   "commit": "9770c95bf2df93d9cb0f200723b03b3d9a480640",
-   "sha256": "188z1i209z61nwfcgffgp90rdcsnl75izxpqv4x1vbaay5fvg33f"
+   "commit": "8a0dc9888de87ea3aace06628bff52ed32f3ca2b",
+   "sha256": "1xcsm72by6jiqr9y9fyk70nshsj5dj494faz9734m67fmxq45pfj"
   },
   "stable": {
    "version": [
@@ -1133,8 +1133,8 @@
     "auto-complete",
     "rtags"
    ],
-   "commit": "63f18acb21e664fd92fbc19465f0b5df085b5e93",
-   "sha256": "0wzyn9qzyly71yfwhlk5m94ygjnbk459pgbpgkhp9fqgchx12p1r"
+   "commit": "65113e2a137baa9f85dc2157b893291470788dc4",
+   "sha256": "1qc4hy6r2sz59nb28xrrqiad91xbmsrr9jzhi4k915qgds6m029h"
   },
   "stable": {
    "version": [
@@ -1507,14 +1507,14 @@
   "repo": "mrkkrp/ace-popup-menu",
   "unstable": {
    "version": [
-    20210318,
-    1748
+    20210608,
+    839
    ],
    "deps": [
     "avy-menu"
    ],
-   "commit": "9a2056c53faba0bd7b7f44fb3faabf4d34b8497f",
-   "sha256": "0i7a708y9x4xdny3ccqwngn4la5vg0539c7qk87d163gl61mbk7k"
+   "commit": "594a305704be8ca0ef79a12b787bdb59bc6077c0",
+   "sha256": "1ykpb4l29iw5bxmip9cn6irgiak2hwb79kg1k5m32wc9p6b4kbjf"
   },
   "stable": {
    "version": [
@@ -1929,30 +1929,28 @@
   "repo": "agda/agda",
   "unstable": {
    "version": [
-    20210505,
-    1142
+    20210619,
+    545
    ],
    "deps": [
     "annotation",
     "eri"
    ],
-   "commit": "044843c5281a7bdb9479317793a75c8c0fcfadd9",
-   "sha256": "04lirb2p1h46c1l84ysdnr2jxvzsdw1zv6jhm7h8ybgzmaa65b6m"
+   "commit": "007a26fb5f7d9eb54db16484fb116d6e47c8cc5e",
+   "sha256": "1w9pra3qqmidsf5mvp0lmk9liw1ryaf8kjiawfgyyc6mzgw6nrvz"
   },
   "stable": {
    "version": [
     2,
     6,
-    1,
-    3,
-    20210605
+    2
    ],
    "deps": [
     "annotation",
     "eri"
    ],
-   "commit": "ab805592a0ae7066fbd5fa5f47e933194fce878f",
-   "sha256": "19ld12x4is0nx52i05zv20js0zysx3bljbdn2nr65vy11dq2cyyp"
+   "commit": "246a229faea2ef2fa53caf491ff8a2d72dd7510c",
+   "sha256": "1ccmryw6vs8d87d5zmjl0kr2kvyd1zxl73344fa7yzqgg2kw1da6"
   }
  },
  {
@@ -2323,8 +2321,8 @@
    "deps": [
     "flycheck"
    ],
-   "commit": "df5664e71c1026af4aaf69e6b227d427a728e7c6",
-   "sha256": "1czy3sbwm6lfrgdbj0y12q4n70w6zg8g3y27iz1zr4y20hhcp2zk"
+   "commit": "bf859fdb80a46c6d0d9fd8f8540a8ae96d5c1016",
+   "sha256": "1bp3q84alqwkglifhwc5kcrb2dc22kjd3l0h9r0bh1klz70sjss4"
   },
   "stable": {
    "version": [
@@ -2451,14 +2449,25 @@
   "repo": "wyuenho/all-the-icons-dired",
   "unstable": {
    "version": [
-    20210422,
-    921
+    20210614,
+    1350
    ],
    "deps": [
     "all-the-icons"
    ],
-   "commit": "a294f45ec2c338e1255ae2dd98b19f3f143204e6",
-   "sha256": "1m3gqsgybx57qhdlswbn92cnsz9w10sqfzs2lnja63hzwzwxjg92"
+   "commit": "a758766878b6e8b9eaaf41d68599a2df99e37f48",
+   "sha256": "1shla7nyhml9m3g81p6yy8k4pdq289gb42900xzfp7zl4qvnm2vy"
+  },
+  "stable": {
+   "version": [
+    2,
+    0
+   ],
+   "deps": [
+    "all-the-icons"
+   ],
+   "commit": "a758766878b6e8b9eaaf41d68599a2df99e37f48",
+   "sha256": "1shla7nyhml9m3g81p6yy8k4pdq289gb42900xzfp7zl4qvnm2vy"
   }
  },
  {
@@ -2550,28 +2559,28 @@
   "repo": "seagle0128/all-the-icons-ivy-rich",
   "unstable": {
    "version": [
-    20210605,
-    1700
+    20210626,
+    1956
    ],
    "deps": [
     "all-the-icons",
     "ivy-rich"
    ],
-   "commit": "e0eba9cb8f8c85c0b63434f6117f9fa232d8a890",
-   "sha256": "05a53s7v1vy688gwnn01p3flqlhznp2m0k1mg8ax4hjygyc05l8q"
+   "commit": "07b8c5271719afa6a4c598c2a19f4a096ca6efe8",
+   "sha256": "1blr46w08s9f3wrcarqds09is9akdsq8faghshby5fnk9s5srkq3"
   },
   "stable": {
    "version": [
     1,
-    5,
-    1
+    6,
+    2
    ],
    "deps": [
     "all-the-icons",
     "ivy-rich"
    ],
-   "commit": "0138c7e7f3b7a6c09665e45a6dd2168359efd47c",
-   "sha256": "0nbbkasbklxf62rx9mc5w37r014vdbbg3vm5dy03hxzvq3y1yrpn"
+   "commit": "07b8c5271719afa6a4c598c2a19f4a096ca6efe8",
+   "sha256": "1blr46w08s9f3wrcarqds09is9akdsq8faghshby5fnk9s5srkq3"
   }
  },
  {
@@ -3150,11 +3159,11 @@
   "repo": "bastibe/annotate.el",
   "unstable": {
    "version": [
-    20210519,
-    1401
+    20210620,
+    751
    ],
-   "commit": "b22f594f3b813b12e442860344d2feb39d944b53",
-   "sha256": "1911j82vw8pp58byc41v2fhbjvr3l9rdjqa46gs757xssh0g8jal"
+   "commit": "9aba6305fef54f32b085a56ce2b843b3d8194ac2",
+   "sha256": "1n2pgvc4fw8r22ck2r3jmkrrh1vlwv1r35ljy5g3b95zjh11w7g4"
   },
   "stable": {
    "version": [
@@ -3192,19 +3201,17 @@
     20200914,
     644
    ],
-   "commit": "044843c5281a7bdb9479317793a75c8c0fcfadd9",
-   "sha256": "04lirb2p1h46c1l84ysdnr2jxvzsdw1zv6jhm7h8ybgzmaa65b6m"
+   "commit": "007a26fb5f7d9eb54db16484fb116d6e47c8cc5e",
+   "sha256": "1w9pra3qqmidsf5mvp0lmk9liw1ryaf8kjiawfgyyc6mzgw6nrvz"
   },
   "stable": {
    "version": [
     2,
     6,
-    1,
-    3,
-    20210605
+    2
    ],
-   "commit": "ab805592a0ae7066fbd5fa5f47e933194fce878f",
-   "sha256": "19ld12x4is0nx52i05zv20js0zysx3bljbdn2nr65vy11dq2cyyp"
+   "commit": "246a229faea2ef2fa53caf491ff8a2d72dd7510c",
+   "sha256": "1ccmryw6vs8d87d5zmjl0kr2kvyd1zxl73344fa7yzqgg2kw1da6"
   }
  },
  {
@@ -4517,30 +4524,6 @@
   }
  },
  {
-  "ename": "auth-source-pass",
-  "commit": "6e63342b442794ead4d8bed803b0924d9cd26dc4",
-  "sha256": "10l3kbffy08fh0krwvh4gn75k37criv2ma5hgkadvq1s2p5ps8r6",
-  "fetcher": "github",
-  "repo": "DamienCassou/auth-source-pass",
-  "unstable": {
-   "version": [
-    20210210,
-    1908
-   ],
-   "commit": "fa8b964494c1ef42035fad340ff5f29fcdbed21c",
-   "sha256": "0fn30iy1jy0kh09652a0fn7zg93cf3xvs2bz28lml7knj2hbqi2r"
-  },
-  "stable": {
-   "version": [
-    5,
-    0,
-    0
-   ],
-   "commit": "df074612114c3cc2fa1c3023f26ff182f9b1190a",
-   "sha256": "0qnqqdpbfr06nqw4hq7c1s7yh7zyrv4gqjj06v70cavjml7pagp6"
-  }
- },
- {
   "ename": "auth-source-xoauth2",
   "commit": "8ba0273c8aa2a50b9dc9b8312b860d94dfd808d5",
   "sha256": "0g06240ix4gzw3fb74jcadiq7nissi20i1vsbzhkx35j10mv7wn3",
@@ -4605,14 +4588,14 @@
   "repo": "emacscollective/auto-compile",
   "unstable": {
    "version": [
-    20210518,
-    1020
+    20210615,
+    1457
    ],
    "deps": [
     "packed"
    ],
-   "commit": "3af0b02393ca4f207f1e454161f7bd8a747f3051",
-   "sha256": "1h2iv14ppj5pqbnb7z7xvw1jm3cmis10jpqnd6miax1s6jlm8z0r"
+   "commit": "0f3afc6b057f9c9a3b60966f36e34cb46008cf61",
+   "sha256": "0grb9y7v7ibbcjv1yhssnavz43cij16ys5c68my8mv12wg5ld86z"
   },
   "stable": {
    "version": [
@@ -4964,19 +4947,22 @@
   "repo": "jcs-elpa/auto-highlight-symbol",
   "unstable": {
    "version": [
-    20210108,
-    1841
+    20210629,
+    1535
    ],
-   "commit": "5ad84d0a12b175360b18504cd04e6bf7ab1cf5c8",
-   "sha256": "0dpsqzl6nn08kg9d42a6zpk7jq6621c0hzf28c1ary4vzcwm4j9v"
+   "deps": [
+    "ht"
+   ],
+   "commit": "45c472cf72df1d477550dcc07e556047b2fc5852",
+   "sha256": "1xbkcpidmzlbv3qs8r9i880pbkf7w78xagh85nvcrv965ra66k6c"
   },
   "stable": {
    "version": [
     1,
-    59
+    60
    ],
-   "commit": "0982390f19fee3c05856b9e4e40056dce4c4020d",
-   "sha256": "1vvk0vp61y63rjhfxk5ajs0m4p36pvbwb97sw66zdlrq5h33lmv9"
+   "commit": "d5125800b038d1275aabd14008ede75a3a858587",
+   "sha256": "1mi4mayfavkfm9fkg1j1wcv6kvb2cfgf5nr5kk15jhy7x1ajwphp"
   }
  },
  {
@@ -5111,11 +5097,11 @@
   "repo": "jcs-elpa/auto-rename-tag",
   "unstable": {
    "version": [
-    20210418,
-    1758
+    20210629,
+    1537
    ],
-   "commit": "8dbf13b344f6d5eba5c4876b18905d30b3118bb9",
-   "sha256": "1nlwg78d60w6xjpqhrc49nxxvjaxj07wb036rb5jsng9yb6r94m9"
+   "commit": "ac7b7183c5e84da110e2f4850c5d8bc5325d058a",
+   "sha256": "1hzh6ajccmkc2p5kcbl7vjh16rdh4nw3kmncw8ca32ij3l01rmb1"
   },
   "stable": {
    "version": [
@@ -5313,10 +5299,10 @@
  },
  {
   "ename": "autocrypt",
-  "commit": "c5aac210984709f020f96f3ca166185900accddf",
-  "sha256": "1y5p5n2p2qk638i1as3wbfz82r08jv4q91470xz9r1gkdnn1xyx8",
+  "commit": "982788433004ba644a372c50130613e3c56bba10",
+  "sha256": "0ngdxqski3q4mqsrw8h07mkm58kwrvpxvclgyhq2jypvcvlb7abg",
   "fetcher": "git",
-  "url": "https://git.sr.ht/~zge/autocrypt",
+  "url": "https://git.sr.ht/~pkal/autocrypt",
   "unstable": {
    "version": [
     20210412,
@@ -5325,8 +5311,8 @@
    "deps": [
     "cl-generic"
    ],
-   "commit": "5b55f8d37545e9c441788627c17e350d7edf4055",
-   "sha256": "0b06xnjkgwjpxl96mdi674pmvdaiwncifi1a30wxhl1dwr7kr084"
+   "commit": "1dc4e5983382093fc74c81d84a45cd2b53adfd90",
+   "sha256": "0r99h100v43i7wr2c1jqgyzixlc1y973swwfa9cfmnaxck3ibk93"
   }
  },
  {
@@ -5530,8 +5516,8 @@
     "avy",
     "embark"
    ],
-   "commit": "ef609bf15368a68c4eb3c46fd8cc1bb623b6b83e",
-   "sha256": "0ddh7zqgaq07534l6m3wjvbcj23a01h3x7scd4pl5rj6wyxqwv76"
+   "commit": "acbe1cba548832d295449da348719f69b9685c6f",
+   "sha256": "0c1zqfrn2va2m9z6rw3i2h6dwm2vc0asbha4d9r0gss4b7519pf2"
   },
   "stable": {
    "version": [
@@ -5771,19 +5757,19 @@
   "repo": "juergenhoetzel/babel",
   "unstable": {
    "version": [
-    20210520,
-    501
+    20210612,
+    640
    ],
-   "commit": "1f68c175e8a3223f37858167239051e9ab9e540c",
-   "sha256": "1b13pfxabfcl8p3j6bw6c5m2njzignab4p6fzxfmfpsvrq5yjzfz"
+   "commit": "946e69c61188bc41793402ac48466d8967ddb43d",
+   "sha256": "0drqcvkak677r2bc8jr0bp0qv3x2iw5cvlma6ir2blgm1d3q2bg3"
   },
   "stable": {
    "version": [
     1,
-    4
+    7
    ],
-   "commit": "65b55ad89017c9b3a1c8c241ac4b4541eabdaf5f",
-   "sha256": "0px1xggk6qyrwkma1p3d7b4z2id2gbrsxkliw3nwc1q4zndg1zr7"
+   "commit": "a6028ec6780f22b5b15c4458d968f7b49be3974b",
+   "sha256": "1vbhmrgcbrqj079g40w43xya4yc38ddhfn6wrd75s77qzmhrczll"
   }
  },
  {
@@ -6115,11 +6101,11 @@
   "repo": "szermatt/emacs-bash-completion",
   "unstable": {
    "version": [
-    20201011,
-    916
+    20210615,
+    1601
    ],
-   "commit": "65e54c6f9c0ffebf94f7c505694bd249b9b53d32",
-   "sha256": "0aj110pmx6f11flmyk8ryj4mghjay2wbix945wisrlydlnl9jmmc"
+   "commit": "d9c97b741db389ceb127b0f0180b2087cb24d0ef",
+   "sha256": "15m7gbwq1lmca2rlfb2ik86ibmvjnj58yajbp5d23xn03qqd6x6c"
   },
   "stable": {
    "version": [
@@ -6987,8 +6973,8 @@
     "a",
     "pdf-tools"
    ],
-   "commit": "246120647e28a27506ca0894ba98e371086881fd",
-   "sha256": "15gqzj4h0w33w38i8ihl74iy7aqxlds97gm93r72z69pm2l1d7dm"
+   "commit": "8a3b529d5ece261a8847298ea03ed35615cc9bfa",
+   "sha256": "16zalqjd2llwkp7v0218crgf3k34py8zx6lj6z7i3kbmxm9nb27q"
   }
  },
  {
@@ -7036,14 +7022,14 @@
   "repo": "bdarcus/bibtex-actions",
   "unstable": {
    "version": [
-    20210607,
-    1230
+    20210625,
+    1718
    ],
    "deps": [
     "bibtex-completion"
    ],
-   "commit": "07a3c64b12673b722a21c932eb85c595dea0c863",
-   "sha256": "0afnb0aa3msnvg2p4pjdcliccsfhaa7pp7bx76h3sfvv4648kki5"
+   "commit": "ee09acded11c160001e60c47de700e5fee6e9426",
+   "sha256": "0i4476gydsyandyb3r53hk8izx9jpmg03ny8f4glxcvlsm1ysvzf"
   },
   "stable": {
    "version": [
@@ -7119,11 +7105,11 @@
   "repo": "tarsius/bicycle",
   "unstable": {
    "version": [
-    20201028,
-    1854
+    20210615,
+    1459
    ],
-   "commit": "e3fbc0737bb5f891e4d57d048bbc1fe17401f17f",
-   "sha256": "1jgrnd3yxaqgd3rxls41xxzfaq9hkmjk9wbdg06ak9h5xw4fi17j"
+   "commit": "2f0d6fbe0e363a0ed1f878316d1c0d7c1d6e1082",
+   "sha256": "1zlbz5kkqz4r3a2d5y563s1isbs1328kjjrfmn69gwd6w2zi5pii"
   },
   "stable": {
    "version": [
@@ -7490,8 +7476,8 @@
     20200404,
     1550
    ],
-   "commit": "d99ab1aad84e4bd2bd4a499877764c213cce50ff",
-   "sha256": "0ay49ars61vr43n4bd3k4n1w89ilmw7d8s53ifixgw0vvjkz74z1"
+   "commit": "8f7cd388abccdf25baeca99c07ef2dfe264e8f2f",
+   "sha256": "16c4scmc7csb34c237m04fc2w252lvqiwjcz65bjmf077g1ipd7q"
   },
   "stable": {
    "version": [
@@ -7963,15 +7949,15 @@
   "repo": "emacscollective/borg",
   "unstable": {
    "version": [
-    20210530,
-    1158
+    20210618,
+    2112
    ],
    "deps": [
     "epkg",
     "magit"
    ],
-   "commit": "e2263534e16ed8bbc935ee466f6ad2acbe9c603e",
-   "sha256": "169sdgi476hnxxv0s9qfi8cply9q7gb8i1hli4i74ynlrhc9wfq7"
+   "commit": "6ea061f30065493e206132ff3f7a2d8febb859d0",
+   "sha256": "0m7c512r789pbx2qgzx1zgbr2w4y6ma8l7zhvslji57hzhcvj10y"
   },
   "stable": {
    "version": [
@@ -8570,16 +8556,16 @@
   "repo": "countvajhula/buffer-ring",
   "unstable": {
    "version": [
-    20210529,
-    2059
+    20210624,
+    1642
    ],
    "deps": [
     "dynaring",
     "ht",
     "s"
    ],
-   "commit": "30572b4d8fff519c4996078a5ad743583fb22b0e",
-   "sha256": "1xg6kbjj4fccsr5awnh3ba9x33qznnala3kmnfwpmj94rd72whiy"
+   "commit": "4a226bc410ec7b5b0323879b03aad73be1b69728",
+   "sha256": "02l4wh4qykbk58cda8l3cyg4lpf5zjr0ss4927ac48nlxnawcrsa"
   },
   "stable": {
    "version": [
@@ -8925,14 +8911,14 @@
   "repo": "alphapapa/burly.el",
   "unstable": {
    "version": [
-    20201211,
-    58
+    20210621,
+    845
    ],
    "deps": [
     "map"
    ],
-   "commit": "291c2b34eee255f64c0fd889b67dc11a3b69ef12",
-   "sha256": "0a9k47xn9fhhw6rl73gri2ykzag5c68drfc7c4r0f1nqp61smkkv"
+   "commit": "c6d6aaeded0ef892af307652503de21db2a2a5b3",
+   "sha256": "1ic6qgmcj4l7a4775wwz45qwadj4ha4z3v2qlr4s54hzzldwc9w7"
   },
   "stable": {
    "version": [
@@ -9202,11 +9188,11 @@
   "repo": "lassik/emacs-c-eval",
   "unstable": {
    "version": [
-    20210603,
-    1716
+    20210611,
+    705
    ],
-   "commit": "f79be8354a3c01fddbf38b731aa8934421cef22f",
-   "sha256": "1qpi5j2h9q4khp3kbk4ybsg4mp2cp5kws5fz7bjpxz4iz0s8mbx7"
+   "commit": "fd129bfcb75475ac6820cc33862bd8efb8097fae",
+   "sha256": "1xfgjc0j8ck03278n014mvf768m68knyawrc3lmybr2gj04b4cz9"
   }
  },
  {
@@ -9426,20 +9412,20 @@
   "repo": "unhammer/calendar-norway.el",
   "unstable": {
    "version": [
-    20180906,
-    1502
+    20210608,
+    1136
    ],
-   "commit": "8d1fda8268caa74ba5e712c7675ed3c34e46e2d4",
-   "sha256": "011c8pz1g805a7c3djai39yasd2idfp4c2dcrvf7kbls27ayrl6d"
+   "commit": "4dd8c38ef30ad45931c8ae7bcdfd720c3fcffffc",
+   "sha256": "02xf57dincpn7km1f3c9dnq2qv6lk07m9z5hilm3nnns0wwzqdyw"
   },
   "stable": {
    "version": [
     0,
     9,
-    4
+    5
    ],
-   "commit": "8d1fda8268caa74ba5e712c7675ed3c34e46e2d4",
-   "sha256": "011c8pz1g805a7c3djai39yasd2idfp4c2dcrvf7kbls27ayrl6d"
+   "commit": "4dd8c38ef30ad45931c8ae7bcdfd720c3fcffffc",
+   "sha256": "02xf57dincpn7km1f3c9dnq2qv6lk07m9z5hilm3nnns0wwzqdyw"
   }
  },
  {
@@ -9785,14 +9771,14 @@
   "repo": "kwrooijen/cargo.el",
   "unstable": {
    "version": [
-    20210422,
-    657
+    20210615,
+    1543
    ],
    "deps": [
     "markdown-mode"
    ],
-   "commit": "0174599fd1c1b429042c7ca67c3d45f07441a43d",
-   "sha256": "0qm6cgzsr86s1rcvqpv8x5b3r1v7nq7z8il8ci4vlw9hk0wg65a2"
+   "commit": "1dd9771853b4327ed161232b65520c13ffe3c0c6",
+   "sha256": "12pwlww471s6n4vy367m3z8gscxpapi7q6sz5siyis9vjwz3ql2y"
   },
   "stable": {
    "version": [
@@ -9894,8 +9880,8 @@
   "repo": "cask/cask",
   "unstable": {
    "version": [
-    20210528,
-    1605
+    20210621,
+    1830
    ],
    "deps": [
     "ansi",
@@ -9906,8 +9892,8 @@
     "s",
     "shut-up"
    ],
-   "commit": "daee4bec9c7d96a165366f7edeaa4616837bf432",
-   "sha256": "062hsgb4315wvydygvygjywi4wp8xri3h0gj4n5dmy884578hhjl"
+   "commit": "9fbc15dfe8b0739082e7bbff65f226dfe74ac9dd",
+   "sha256": "16pc37b6qaaar8gb4b6rzx7bwdj1lamg34a0nlqw6bkp0wzv1d4v"
   },
   "stable": {
    "version": [
@@ -10165,11 +10151,11 @@
   "repo": "cdominik/cdlatex",
   "unstable": {
    "version": [
-    20201016,
-    1659
+    20210621,
+    654
    ],
-   "commit": "adf96bab0bbf28f65c882c0874f1c14fdb216bd8",
-   "sha256": "010sljis51q31l2irhmr4k3i80f6vnzxf8k09p6k7b91jcby3nf5"
+   "commit": "720f9145d88b3e54b5388742c8a1a2b963d74581",
+   "sha256": "1mgjw93b5mag1ivvxsm416nkvappi4rkddpjlpjcvqw7lwzgps3d"
   },
   "stable": {
    "version": [
@@ -10423,17 +10409,17 @@
     20171115,
     2108
    ],
-   "commit": "35b67c8380bb284c9c59914d967ee157a62311b8",
-   "sha256": "1579n0m13l7ghw5g4b0iffrcvgsh5pk3abk29rrskq736i0h007s"
+   "commit": "3a5929f70b2b258e4786f86383edee6db76bd5a7",
+   "sha256": "05a004z6lxafi9x16br3hhflv7dr1ndlgqrfsb88rjm17w6afpc3"
   },
   "stable": {
    "version": [
     3,
-    17,
+    18,
     0
    ],
-   "commit": "68302fb6a977b11238c91ad9a2b5cb52e6294561",
-   "sha256": "0y8knkrxhj8w2pvz3wjf36q4lpcbv89h2ha8ha1248mfgqmh3wjr"
+   "commit": "b2e902351f51f30b46836494ae9cc1b38b3c6cf5",
+   "sha256": "1lm791bv829p4yjy95lw673g1l9cihg0akan6qxyjg7x219l7dgy"
   }
  },
  {
@@ -10542,16 +10528,16 @@
   "repo": "Alexander-Miller/cfrs",
   "unstable": {
    "version": [
-    20210529,
-    1123
+    20210609,
+    1805
    ],
    "deps": [
     "dash",
     "posframe",
     "s"
    ],
-   "commit": "e16a01012545d378150432fa10684a2a7d1cc2d1",
-   "sha256": "1pj0l0jqgx3bixklllppgm6pwyfd0dc1ik5cs9x1azb1qdgf8kjs"
+   "commit": "2cb7f1cbf9292b0efe167ef372cfb5a7600564eb",
+   "sha256": "1y75mijqchkzhq185961clyl2idj22kz0a1gp69y29qhhfvs43yk"
   },
   "stable": {
    "version": [
@@ -11055,16 +11041,16 @@
   "url": "https://tildegit.org/contrapunctus/chronometrist.git",
   "unstable": {
    "version": [
-    20210603,
-    1656
+    20210622,
+    44
    ],
    "deps": [
     "dash",
     "seq",
     "ts"
    ],
-   "commit": "5c5b7fc5e72e2322af2cac14745c7adaab1d56cf",
-   "sha256": "104n79hj8649h90g8kh3i4rfyk1alq0skpjv8jjpbz0cybhp7n53"
+   "commit": "e7561cf0bb6cbe129edec7f3e15265c985e6e117",
+   "sha256": "1x8jb65pmzw3218skqmgn95bvl5wx02yghp5wmn1gd4xdhran2qc"
   },
   "stable": {
    "version": [
@@ -11121,14 +11107,14 @@
   "url": "https://tildegit.org/contrapunctus/chronometrist.git",
   "unstable": {
    "version": [
-    20210603,
-    1656
+    20210617,
+    1707
    ],
    "deps": [
     "chronometrist"
    ],
-   "commit": "5c5b7fc5e72e2322af2cac14745c7adaab1d56cf",
-   "sha256": "104n79hj8649h90g8kh3i4rfyk1alq0skpjv8jjpbz0cybhp7n53"
+   "commit": "e7561cf0bb6cbe129edec7f3e15265c985e6e117",
+   "sha256": "1x8jb65pmzw3218skqmgn95bvl5wx02yghp5wmn1gd4xdhran2qc"
   },
   "stable": {
    "version": [
@@ -11199,8 +11185,8 @@
   "repo": "clojure-emacs/cider",
   "unstable": {
    "version": [
-    20210524,
-    832
+    20210625,
+    1100
    ],
    "deps": [
     "clojure-mode",
@@ -11211,8 +11197,8 @@
     "sesman",
     "spinner"
    ],
-   "commit": "8f51546c0efb36226c4bae7d65465b0e0aa8c06f",
-   "sha256": "0bn1k34a0dr85c0jj3cb3w8afbhb5iy7whdddkfpa5fkrhc77acf"
+   "commit": "af140ced2286ff646471b067b94c2b18d42616df",
+   "sha256": "0nwh1pi31jrhxjxy7q92hpis5lf1k6f6l6k5vdb0y2lfsd7acqii"
   },
   "stable": {
    "version": [
@@ -11403,14 +11389,14 @@
   "repo": "jorgenschaefer/circe",
   "unstable": {
    "version": [
-    20210601,
-    801
+    20210614,
+    912
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "c0b2f997b3b73640d635ee84627bb8cf36c9adfe",
-   "sha256": "1kjfch0fhq67iivad56s071c8qlsssdsdg83h5v9iz2x4jipm0wa"
+   "commit": "d6f1fa18646f6ed2a1c0f06a4888130bd694ff19",
+   "sha256": "1l6v02aa072jvhq4b9dpkprqs14py0d4jm3xvihm05lvrbf9v6c6"
   },
   "stable": {
    "version": [
@@ -11552,6 +11538,21 @@
   }
  },
  {
+  "ename": "citre",
+  "commit": "a11fd12ba99427246c17c178ef9277fc2d2e2eed",
+  "sha256": "0nbyb0n0f1f11lnyv9wxy2d1vmz5vg5w18dln2vlwcjh2a6n3jz9",
+  "fetcher": "github",
+  "repo": "universal-ctags/citre",
+  "unstable": {
+   "version": [
+    20210701,
+    1448
+   ],
+   "commit": "01ed8539e8068f1e1ff658ab4b1931d9b7907809",
+   "sha256": "1ihxy871wqdpy3ri77kl1wwd21bnl484x343z9xvggl9z6dz8pw4"
+  }
+ },
+ {
   "ename": "cl-format",
   "commit": "855ea20024b606314f8590129259747cac0bcc97",
   "sha256": "09jwy0fgaz2f04dvcdns6w859s6izvrkp8ib4lws3x8kx8z918fy",
@@ -11629,26 +11630,26 @@
  },
  {
   "ename": "clang-capf",
-  "commit": "c47e1fd9d5a4b85f08676742a9b36b74a2ac8fb6",
-  "sha256": "11qfh8c2kjcy715yyp0sywla74z92qn5j1z9wp4fv5p45w6b6112",
+  "commit": "982788433004ba644a372c50130613e3c56bba10",
+  "sha256": "0xng53wrvmmcl3pq1ap9ddnqrfwmhqwcwli7xnf7a5dqlx6dxj7h",
   "fetcher": "git",
-  "url": "https://git.sr.ht/~zge/clang-capf",
+  "url": "https://git.sr.ht/~pkal/clang-capf",
   "unstable": {
    "version": [
-    20201205,
-    1229
+    20210625,
+    1107
    ],
-   "commit": "6d0fcae75044d930e989903673b6ab22d0401418",
-   "sha256": "12kcb26vk0x20nkwsqw7fk2mlzd64dbh02wz7bpdr3r74iygsapf"
+   "commit": "e422f339395aac6d023954880d19bc76a0d1072d",
+   "sha256": "1gdd674m1vbl8acwsgx6qfmx1gr7h8a6yadzp1jjaandpmc9jlrf"
   },
   "stable": {
    "version": [
     1,
     2,
-    0
+    1
    ],
-   "commit": "630ab057ed614d142ac08bb3a44a869a81cb591a",
-   "sha256": "0xrxk4b903ayymrngf2swk8d7ic8np1dy8zp9hg3wjlibsmagak0"
+   "commit": "e422f339395aac6d023954880d19bc76a0d1072d",
+   "sha256": "1gdd674m1vbl8acwsgx6qfmx1gr7h8a6yadzp1jjaandpmc9jlrf"
   }
  },
  {
@@ -11925,8 +11926,8 @@
   "repo": "clojure-emacs/clj-refactor.el",
   "unstable": {
    "version": [
-    20210518,
-    1305
+    20210628,
+    1154
    ],
    "deps": [
     "cider",
@@ -11939,8 +11940,8 @@
     "seq",
     "yasnippet"
    ],
-   "commit": "ae2f6344eaf66c872ebc4a87a389f34434ad7a3d",
-   "sha256": "064pnj9wyhfx02cczmp9ah00ng5v9ps7mhn6mbs6vldv9cfrsvr7"
+   "commit": "466822ff6f9da584f7cf72c868017b8840574dbd",
+   "sha256": "1jvmqb4sj3www6fq8srq13yjixp4ixx5i6b0xhiv2bi6r41m3ina"
   },
   "stable": {
    "version": [
@@ -12337,26 +12338,26 @@
   "repo": "emacscollective/closql",
   "unstable": {
    "version": [
-    20210530,
-    1136
+    20210616,
+    1951
    ],
    "deps": [
     "emacsql-sqlite"
    ],
-   "commit": "1b0e5bfef95de49bf669c54a15571386f10f4705",
-   "sha256": "01l4w3wc7rm7mca8pbkyz0yrks4z8i00ppy5c4bmrnn6akf7h9ih"
+   "commit": "e2687e7ff958a19e6e5d6552c4e0b7b33c424bab",
+   "sha256": "1ghqxnn39i032ibm5sbnv67r2dd2hgfnfpqbmb8wzg9wc6smnacq"
   },
   "stable": {
    "version": [
     1,
     0,
-    5
+    6
    ],
    "deps": [
     "emacsql-sqlite"
    ],
-   "commit": "1b0e5bfef95de49bf669c54a15571386f10f4705",
-   "sha256": "01l4w3wc7rm7mca8pbkyz0yrks4z8i00ppy5c4bmrnn6akf7h9ih"
+   "commit": "e2687e7ff958a19e6e5d6552c4e0b7b33c424bab",
+   "sha256": "1ghqxnn39i032ibm5sbnv67r2dd2hgfnfpqbmb8wzg9wc6smnacq"
   }
  },
  {
@@ -12483,8 +12484,8 @@
   "repo": "atilaneves/cmake-ide",
   "unstable": {
    "version": [
-    20210603,
-    1522
+    20210610,
+    1525
    ],
    "deps": [
     "cl-lib",
@@ -12492,8 +12493,8 @@
     "s",
     "seq"
    ],
-   "commit": "9b1100bd8d65b961b7478f9c011f0f6eb8cfcdd9",
-   "sha256": "1lr9cz856hqb3qz5fq6qqc2a55mfgdrh451np5m2bf2ljw0d67nh"
+   "commit": "28dc4ab5bd01d99553901b4efeb7234280928b18",
+   "sha256": "01xpknvj5mm2d3z6xzaw6cyb26hrzhvs44763ajvgw9l43mviwy3"
   },
   "stable": {
    "version": [
@@ -12520,17 +12521,19 @@
     20210104,
     1831
    ],
-   "commit": "05d8a586fa4eb6256b8b80a0f7f084e8c5d3c8e6",
-   "sha256": "11vxpkf8y9n0kxyfgkbyrq76b0g4xjl2rriyj2d59s3xlx27gqjp"
+   "commit": "bf6c9567920965f7b3aba37079cc1b51f31d969d",
+   "sha256": "1hk1qmvw9hmq8xarcnc3pspgsa2fkr8cra8g43i12b8011dz6hpb"
   },
   "stable": {
    "version": [
     3,
-    20,
-    3
+    21,
+    0,
+    -1,
+    2
    ],
-   "commit": "13d112ea03f2b068da1f7ac3239a42a6cff94eda",
-   "sha256": "1rn9gzjcg1km9pbyipkfgzq8jvsmwwa2zkmra5yksfwq2094apnh"
+   "commit": "e610e99ad34a545ac67f1977e78ea59a52fdcf79",
+   "sha256": "1jss6aavq89kmhdbjml6qamv9jm92xf74g1wz4dsr36wh0mypgfk"
   }
  },
  {
@@ -12682,11 +12685,11 @@
   "repo": "astoff/code-cells.el",
   "unstable": {
    "version": [
-    20210529,
-    1452
+    20210612,
+    755
    ],
-   "commit": "2e40770d7963dcbb52ac45dcd83c0537fda5e188",
-   "sha256": "1m6csmg7y99ihw6nhknnr6wqamf5y5j931gfbsrhbar2hh8wjx5m"
+   "commit": "1bd650391a6fe84eb267f2534a0750ea1b5549f4",
+   "sha256": "0r0gp0i0mkfw035qrhpbjw3vdlyiffc5b9zmsmq93wcqvn459154"
   }
  },
  {
@@ -13489,11 +13492,11 @@
   "repo": "company-mode/company-mode",
   "unstable": {
    "version": [
-    20210606,
-    135
+    20210618,
+    2105
    ],
-   "commit": "e0f8c9ad754bdc2c02318f4baf433886c7aa83e3",
-   "sha256": "1wqwcggjzmqihdgs3bm23fbv2cxpbh9cjvnzgdj01vbgh4ccqkfh"
+   "commit": "1fd1b363eee68e4cdcf0e610005c0bdbf9940604",
+   "sha256": "00502ffyfx9zc6bs2pzn3zj3rj2zz8sdm1g046ijkgbya8wszkcm"
   },
   "stable": {
    "version": [
@@ -13772,26 +13775,26 @@
   "repo": "redguardtoo/company-ctags",
   "unstable": {
    "version": [
-    20210528,
-    1311
+    20210629,
+    1038
    ],
    "deps": [
     "company"
    ],
-   "commit": "26f0a906a646b4885984e068a2046c3a1d0578eb",
-   "sha256": "0ix5zjwfjj4cbx61qy9d0rfbsmk5kgvm9r2v2r76qa39wx3dys82"
+   "commit": "cf7bfdbfedc8ca4ee134c8d66e70eb6035185174",
+   "sha256": "0ysf3gd3fk74j203y2zg3rq41jx42wgk1y1fn2g5giawazi7ym2x"
   },
   "stable": {
    "version": [
     0,
     0,
-    5
+    6
    ],
    "deps": [
     "company"
    ],
-   "commit": "26f0a906a646b4885984e068a2046c3a1d0578eb",
-   "sha256": "0ix5zjwfjj4cbx61qy9d0rfbsmk5kgvm9r2v2r76qa39wx3dys82"
+   "commit": "cf7bfdbfedc8ca4ee134c8d66e70eb6035185174",
+   "sha256": "0ysf3gd3fk74j203y2zg3rq41jx42wgk1y1fn2g5giawazi7ym2x"
   }
  },
  {
@@ -14010,16 +14013,16 @@
   "repo": "jcs-elpa/company-fuzzy",
   "unstable": {
    "version": [
-    20210329,
-    1543
+    20210608,
+    1454
    ],
    "deps": [
     "company",
     "ht",
     "s"
    ],
-   "commit": "a90e45ee69bac18205418aea68d981c12835eb81",
-   "sha256": "0rm2nw5h74qhc5sqrwgw7l94x32kp35fw3xdpfpglr6bmqyqjbmz"
+   "commit": "b35c6fd89ad111c662916751cf8b3facc8acb1c0",
+   "sha256": "0h9ly6jpbkbcraxs8l0245vqld61jap1vw3cfrbp885jyyzpfb0v"
   },
   "stable": {
    "version": [
@@ -14531,15 +14534,15 @@
   "repo": "xenodium/company-org-block",
   "unstable": {
    "version": [
-    20210607,
-    1202
+    20210623,
+    731
    ],
    "deps": [
     "company",
     "org"
    ],
-   "commit": "e2742dea77b356ee11a1200263d48eed79f5fe43",
-   "sha256": "194kjkpaca7k60hxs96mah416fdn5mfbsa4wgrpc3cprlrbyp8jr"
+   "commit": "4fd9a9c673225196e211bb3ced411d0ef9ff2f88",
+   "sha256": "1nsgkamrq54vm88imdyhl4326fxl9hvkfp0prckgjcg2r37pkxar"
   }
  },
  {
@@ -14558,8 +14561,8 @@
     "cl-lib",
     "company"
    ],
-   "commit": "9770c95bf2df93d9cb0f200723b03b3d9a480640",
-   "sha256": "188z1i209z61nwfcgffgp90rdcsnl75izxpqv4x1vbaay5fvg33f"
+   "commit": "8a0dc9888de87ea3aace06628bff52ed32f3ca2b",
+   "sha256": "1xcsm72by6jiqr9y9fyk70nshsj5dj494faz9734m67fmxq45pfj"
   },
   "stable": {
    "version": [
@@ -14591,8 +14594,8 @@
     "company",
     "phpactor"
    ],
-   "commit": "debf66848c6099415c731b179dcd47e96db3b50b",
-   "sha256": "0i5g4gh5i5y8wsrqw89lwi2s2sn67pvvj2y6p7lnyv0i201v5bs8"
+   "commit": "272217fbb6b7e7f70615fc518d77c6d75f33a44f",
+   "sha256": "0hm96i9vdbkcq6mypjpl94dn3gzyk23iql5zzy2d221vmjhqvn7d"
   },
   "stable": {
    "version": [
@@ -14920,8 +14923,8 @@
     "company",
     "rtags"
    ],
-   "commit": "63f18acb21e664fd92fbc19465f0b5df085b5e93",
-   "sha256": "0wzyn9qzyly71yfwhlk5m94ygjnbk459pgbpgkhp9fqgchx12p1r"
+   "commit": "65113e2a137baa9f85dc2157b893291470788dc4",
+   "sha256": "1qc4hy6r2sz59nb28xrrqiad91xbmsrr9jzhi4k915qgds6m029h"
   },
   "stable": {
    "version": [
@@ -14986,8 +14989,8 @@
     "company",
     "solidity-mode"
    ],
-   "commit": "383ac144727c716c65989c079ae76127e25144c3",
-   "sha256": "1q4b8623mygzp3qwy5bmb3hipzjfri9007x0ilq3i7k5bs34jz9r"
+   "commit": "5f6ef3156fadae5af6f381d674d20535529a20e4",
+   "sha256": "02rmc7naspjfl757k7zdfg9xd6nvfpsiqfcxkj6ywc7mnndpq2c0"
   },
   "stable": {
    "version": [
@@ -15703,19 +15706,19 @@
   "repo": "minad/consult",
   "unstable": {
    "version": [
-    20210606,
-    1237
+    20210629,
+    1951
    ],
-   "commit": "ae905501bcdb8fdda0d10a0846d575fd2a38e6d7",
-   "sha256": "1jz4j27irxknfbcxsn8phhhaiwyc2z9gnyrj03ah1v57i0i9g79c"
+   "commit": "6ce9aa58e74da92e391cfe938bc3da4f47ab591e",
+   "sha256": "1ji5ilakwahipp23avzjpi5vfp5f17pm6m1prygk065zqdianrv9"
   },
   "stable": {
    "version": [
     0,
-    8
+    9
    ],
-   "commit": "e538f168d9d16c926d92c19d6131298962b778a9",
-   "sha256": "1460818fb6y086vgn1mzmrwhpa5jswlwi4v71zr86cg6y7yg4248"
+   "commit": "ee58941308d83a717728f056ea753e80f68cfbc0",
+   "sha256": "0iy6lrqbpi4lv7141rdawpn278rxinfxspwb81n04azyxrk28vlw"
   }
  },
  {
@@ -15789,29 +15792,29 @@
   "repo": "gagbo/consult-lsp",
   "unstable": {
    "version": [
-    20210428,
-    1515
+    20210630,
+    1151
    ],
    "deps": [
     "consult",
     "f",
     "lsp-mode"
    ],
-   "commit": "12989949cc21a1173206f688d56a1e798073a4c3",
-   "sha256": "0g3bpi53x6gr9631kzidbv4596bvdbxlr8y84ln40iwx5j8w6s7p"
+   "commit": "e8a50f2c94f40c86934ca2eaff007f9c00586272",
+   "sha256": "1xkkybfdzr1xqhvc2bamp253icm75dz7bkdz6bv8xj8688p8vrm9"
   },
   "stable": {
    "version": [
     0,
-    2
+    4
    ],
    "deps": [
     "consult",
     "f",
     "lsp-mode"
    ],
-   "commit": "c4c0426b58946578ac1806a60258d2b275d5b524",
-   "sha256": "11lrnv5ssiwwdvdib05nz070yc3w9lfcqikgnl3bq8gbcrm9zjf4"
+   "commit": "e4a0b9403477fe90741ac84d0d2ac3729122b363",
+   "sha256": "00rrc17axn7pmvzy1q95nf0w036cx7fhxwhimamh9cmijkdsf5w5"
   }
  },
  {
@@ -15822,15 +15825,15 @@
   "url": "https://codeberg.org/jao/consult-notmuch.git",
   "unstable": {
    "version": [
-    20210519,
-    57
+    20210701,
+    422
    ],
    "deps": [
     "consult",
     "notmuch"
    ],
-   "commit": "71aa3b8ee6cd3cd07313b74353ac29fdfde0e7b0",
-   "sha256": "1wfghhyv89fcnjznvjwriwdpksr3yijr5lg0xihc7vssz05c7qpr"
+   "commit": "9e65c421cf54ca12234acad727818fa0fe60fa3e",
+   "sha256": "19flyh3v1xm2zswzjkvjbijvpbq5r8isafza4fd0yicvqbjyklhx"
   },
   "stable": {
    "version": [
@@ -15853,14 +15856,14 @@
   "url": "https://codeberg.org/jao/consult-recoll.git",
   "unstable": {
    "version": [
-    20210411,
-    1300
+    20210620,
+    1955
    ],
    "deps": [
     "consult"
    ],
-   "commit": "9038cfa4222f428e28bdafa0aeb57362104a873d",
-   "sha256": "0sqwczfvplmlwkjmpd3l8i6gjsfw180kafyvkzdkdig4cwa39yks"
+   "commit": "7b54edb8ac011015ccb43c9d6193e455b4405425",
+   "sha256": "1qz0r36nv5d52g9i4g9lcrp9gh1kf16q8lgjwgxxqi0qrq2h99z0"
   }
  },
  {
@@ -15871,15 +15874,15 @@
   "url": "https://codeberg.org/jao/espotify",
   "unstable": {
    "version": [
-    20210605,
-    1502
+    20210620,
+    1953
    ],
    "deps": [
     "consult",
     "espotify"
    ],
-   "commit": "3d62a3319ab03a810030058d3fb368b28dfd82d5",
-   "sha256": "0hj3nczmqmgiwsvh664rs34j63wl325x6nar21p1a84h5ximpkxq"
+   "commit": "5bf63dacc5df8a74860e80dabd16afce68a24a36",
+   "sha256": "1vxg86wv6f96bva0d1xxhisk525chwhdl4nq77xhriflq65mcmi3"
   }
  },
  {
@@ -16397,14 +16400,14 @@
   "repo": "redguardtoo/counsel-etags",
   "unstable": {
    "version": [
-    20210410,
-    1256
+    20210608,
+    206
    ],
    "deps": [
     "counsel"
    ],
-   "commit": "5d7ee6776ed5c314472e2af2797ebfdc725e6a70",
-   "sha256": "116yylad46sjfvadpl3lj3sb17ariswyp6k1ihh8ba5jn9f9hl5h"
+   "commit": "2c1f2161d36f70e0034e29abecfcb8878b30b6ac",
+   "sha256": "1hcsz773i67i82crzczm4csjkl9qj430m73lpvqkh7if543bs030"
   },
   "stable": {
    "version": [
@@ -16735,15 +16738,15 @@
   "repo": "mnewt/counsel-web",
   "unstable": {
    "version": [
-    20200313,
-    5
+    20210609,
+    2156
    ],
    "deps": [
     "counsel",
     "request"
    ],
-   "commit": "35c648b4cdd9f266ab54512a0fec2a3ca55d5bc6",
-   "sha256": "128vl9a5w8v2xzfi5xn9cqshxmcfq2pcmnkkqcxfmi401m2lm0bx"
+   "commit": "1359b3b204fcdac7a3d6664c7d540a88b5acecfd",
+   "sha256": "1y5dnhsx5q8jvrr5hjr8cp53nvdq25c9q9im61ym75nccl9lwp4v"
   }
  },
  {
@@ -17067,8 +17070,8 @@
     20210601,
     1327
    ],
-   "commit": "771a405e262c98b802e2c5302306aed802d8233e",
-   "sha256": "0kcv3jjygjvz75irjdddgakw8b0ckm5gqasrb2341zgqms7l9rfr"
+   "commit": "b2c24f42f2fae63433787150f77b397d69ce0e5b",
+   "sha256": "1c0smqhc87fzg7db20k92k938p8dkqiig59krwylkqgagsi7hbg4"
   },
   "stable": {
    "version": [
@@ -17238,11 +17241,11 @@
   "repo": "Boruch-Baum/emacs-crossword",
   "unstable": {
    "version": [
-    20210216,
-    1703
+    20210614,
+    633
    ],
-   "commit": "cb2e2a435ea9f4fa8c7517b4909af8b62bca8a3e",
-   "sha256": "18dk9623ff2kxfhbdnh4l68n5dfxqgrm6ilmv85dfj685kahd0d3"
+   "commit": "a8594b6e13f5e276aa9bc810ac74a8032bb1f678",
+   "sha256": "1in8y4fg79v0lx5k0bfhazppkhmb8x9xb0wrjpv3p877vy3687i9"
   },
   "stable": {
    "version": [
@@ -17372,16 +17375,16 @@
   "repo": "emacs-csharp/csharp-mode",
   "unstable": {
    "version": [
-    20210328,
-    2004
+    20210624,
+    1320
    ],
    "deps": [
     "tree-sitter",
     "tree-sitter-indent",
     "tree-sitter-langs"
    ],
-   "commit": "33e3042535e70a284389f8da1c495958fed8a826",
-   "sha256": "009qizx0cc97if0bdxrmw3l1slddwwhb21fq6npchg7dwswpnai4"
+   "commit": "093f0f21a9d04d79a380de145cbc42693ef8c76f",
+   "sha256": "1150s8zz9z6pmr9m8jny7g8qrhxdnpbk4nzrlyddhaf9hkw9nfi9"
   },
   "stable": {
    "version": [
@@ -18050,8 +18053,8 @@
     20190111,
     2150
    ],
-   "commit": "7b018126aefb100a4f00aeba121688e8a168ee22",
-   "sha256": "0wxjnxic06kkdjlsd0r0afpms26rhdyskv2f4nj7gabiz1m341gm"
+   "commit": "e7e5d1dc652755bd0ac0a45e4f970b1a2b137308",
+   "sha256": "0900w9ddx0i942spji7jg6ssv9d898isggzy9yjhirwn8fs0a2jb"
   },
   "stable": {
    "version": [
@@ -18525,11 +18528,11 @@
   "repo": "magnars/dash.el",
   "unstable": {
    "version": [
-    20210602,
-    1928
+    20210609,
+    1330
    ],
-   "commit": "aab346ed9d8f0f7ea033029c9688810353052e7e",
-   "sha256": "0vq8sgbil17llimaar4j5ar07g17q8ir3a7hfpmv9572ah1zqpw9"
+   "commit": "88d799595e8f1b4154637ce8a3f81b97b0520c1a",
+   "sha256": "0b68kivrvwwp51q7cizgdd5i69n7p322gzd305zb377aksl98rbj"
   },
   "stable": {
    "version": [
@@ -18604,8 +18607,8 @@
    "deps": [
     "dash"
    ],
-   "commit": "aab346ed9d8f0f7ea033029c9688810353052e7e",
-   "sha256": "0vq8sgbil17llimaar4j5ar07g17q8ir3a7hfpmv9572ah1zqpw9"
+   "commit": "88d799595e8f1b4154637ce8a3f81b97b0520c1a",
+   "sha256": "0b68kivrvwwp51q7cizgdd5i69n7p322gzd305zb377aksl98rbj"
   },
   "stable": {
    "version": [
@@ -19635,11 +19638,11 @@
   "repo": "astoff/devdocs.el",
   "unstable": {
    "version": [
-    20210606,
-    933
+    20210625,
+    1617
    ],
-   "commit": "07fc164a680d02de2a7af983adb5e726cbfd7fc0",
-   "sha256": "1ldd4h9r7wiqgynxwlqf6hg5m2whzaczlhxmbch7i60rd72wwvrj"
+   "commit": "f7c57d1878d78f076e2a2ef1c97129dc8aa4da15",
+   "sha256": "0fgyv5g23by8gddaai6q7dwv0f87fam91avpd0fx8klckyz3i5ww"
   }
  },
  {
@@ -19650,11 +19653,11 @@
   "repo": "blahgeek/emacs-devdocs-browser",
   "unstable": {
    "version": [
-    20210601,
-    1447
+    20210629,
+    1601
    ],
-   "commit": "d3702670eb361715e41440eb699523b3f4c60bee",
-   "sha256": "1mv0d67y6m1wi779lc0mnpylqiw3cnaj0rkj199fxh91nkc6vk27"
+   "commit": "23e62096b98b9b509efc453d7fee0810acea4bf8",
+   "sha256": "0f6ld4m1x419677snbpd3qyx782zpj61rahphgc5nfj6aanvll0w"
   }
  },
  {
@@ -19759,10 +19762,10 @@
  },
  {
   "ename": "dictcc",
-  "commit": "5e867df96915a0c4f22fdccd4e2096878895bda6",
-  "sha256": "0x1y742hb3dm7xmh5810dlqki38kybw68rmg9adcchm2rn86jqlm",
+  "commit": "cdc15fbd060183e2b06f0c776075beddf7433f39",
+  "sha256": "023r50vwc3bbbyfmn05lyfpq78cmjr076i2rjd064izbrybififp",
   "fetcher": "github",
-  "repo": "cqql/dictcc.el",
+  "repo": "martenlienen/dictcc.el",
   "unstable": {
    "version": [
     20200421,
@@ -19867,14 +19870,14 @@
   "repo": "dgutov/diff-hl",
   "unstable": {
    "version": [
-    20210523,
-    11
+    20210615,
+    1539
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "d4340608c2d6d8b81aad8e690d0265799aba16f3",
-   "sha256": "1haqmaaj6ajqqfdni6gn3nmqaif8jqrpdnr84m3zjddsdw5zlcsk"
+   "commit": "1077c734b3b6de02c80456035a4939b028cb4179",
+   "sha256": "18vk7rhysavm8j02kd4lw6j6zr2l13gyvrjxq7psy1flhvmkxknc"
   },
   "stable": {
    "version": [
@@ -19931,14 +19934,14 @@
   "repo": "ShuguangSun/diffpdf.el",
   "unstable": {
    "version": [
-    20210307,
-    932
+    20210626,
+    1447
    ],
    "deps": [
     "transient"
    ],
-   "commit": "96861493f95fe88118942bbe64954142250d6c24",
-   "sha256": "13dda1883pkji4nf44mx9xiys6rgirw12si9fnazsviiqycjaf1b"
+   "commit": "a5b203b549e373cb9b0ef3f00c0010bd34dd644a",
+   "sha256": "0bd09ljvlzffb02fgcvjjvysrj762a1wfvad0ywph4722dvnjfn0"
   },
   "stable": {
    "version": [
@@ -19963,8 +19966,8 @@
     20141014,
     2357
    ],
-   "commit": "e0aacd8b3d9f886f27222c1397f0655e849e0af7",
-   "sha256": "14ccak3cmv36pd085188lypal9gd3flyikcrxn0wi6hn60w2dgvr"
+   "commit": "53f2d001bd3a5cb80c6ada16b4e570afd1989a09",
+   "sha256": "0ivy5ydww69gnxws6y37hgvyyvs9gssvdljzs1h13pcycm05hdxb"
   }
  },
  {
@@ -20100,11 +20103,11 @@
   "repo": "tarsius/dim-autoload",
   "unstable": {
    "version": [
-    20200103,
-    1239
+    20210615,
+    1502
    ],
-   "commit": "c8dc02259d6c1aa25fb58742ae8b181f83b39a13",
-   "sha256": "0k9m57zrdpabb6b34j9xy3cmcpzni89wq71pzzwgdi47p1n4r4vd"
+   "commit": "77b6a5814ffb49e33679fd67b53b9f05042b6ebc",
+   "sha256": "1a1xhmsm1c4k3mkbbhzd7fmb8q60fhs0lrf39m261180kz0wnhrq"
   },
   "stable": {
    "version": [
@@ -20130,8 +20133,8 @@
    "deps": [
     "dylan"
    ],
-   "commit": "040c8ebc884305fd4ff980d21c68946fa74b095a",
-   "sha256": "1f99wn0lgknvnplp7nk2lylf17yak2hw53n9a0vkxng01xhf50d2"
+   "commit": "d85409dc3cba57a390ca85da95822f8078ecbfa2",
+   "sha256": "1cm4l2ycaw47mfgc6ms021zxkas1jajgwpnykqlkcwcbakbczxjl"
   }
  },
  {
@@ -20866,14 +20869,14 @@
   "repo": "jojojames/dired-sidebar",
   "unstable": {
    "version": [
-    20210411,
-    2315
+    20210608,
+    2340
    ],
    "deps": [
     "dired-subtree"
    ],
-   "commit": "79d8187da373b573a2d5385ca868553bb73e0005",
-   "sha256": "0b1f6ddhn8z4q790d370zhyqrn4mlqk7i6901sld52m14zigd72j"
+   "commit": "6be2dad2782e28dae2f50c0cbfd82042b2b6ba8d",
+   "sha256": "1lqnd64ga7g8dzzgfn2bw00y65hlvlgxnj3bk7j6qr5wzkz6qp52"
   },
   "stable": {
    "version": [
@@ -21017,14 +21020,14 @@
   "repo": "Boruch-Baum/emacs-diredc",
   "unstable": {
    "version": [
-    20210603,
-    2349
+    20210613,
+    1423
    ],
    "deps": [
     "key-assist"
    ],
-   "commit": "43159042ca788be74c387cc59ba3fffc57079993",
-   "sha256": "01r6sk2zlj3mf39vczaybhpzzmv379vvi85mc4gygif24m102sg3"
+   "commit": "5e13b7c088e2554b2aa406581520d53902c74016",
+   "sha256": "06vy5wgrv0sjdnsx31jg1c12wwzxpkgb2xz1djzi5pbhakidspv3"
   },
   "stable": {
    "version": [
@@ -21069,8 +21072,8 @@
     20160529,
     2017
    ],
-   "commit": "c08e163d9d6c62f7b07e94d54c96c2e364e67e0e",
-   "sha256": "1h2hnm8r3anfbk5x7d2dnv38bdllsbwaam6ivpbgzn12r23wrsr2"
+   "commit": "ad328a15c5deffc1021af9b3f19a745dcd8f4415",
+   "sha256": "1s6gwn3ksvk2wyslv7kwn0da3xgw1ayx6yaddhbxz0kg6ps2ran2"
   },
   "stable": {
    "version": [
@@ -21864,8 +21867,8 @@
   "repo": "Silex/docker.el",
   "unstable": {
    "version": [
-    20210516,
-    1958
+    20210624,
+    1359
    ],
    "deps": [
     "dash",
@@ -21875,8 +21878,8 @@
     "tablist",
     "transient"
    ],
-   "commit": "bc2dc09edea167d4fdf022aa263bad71932bb0c4",
-   "sha256": "009qxd0q77pzq2xvm060zswy0amga9cdcc1h3zf2mhn2cw64ydic"
+   "commit": "9bcefbe54dbed4d364286fe65a87872e763ff7dc",
+   "sha256": "184dsvaa60b4j6w8s6146x81l5d2a6hkxjqp69gwiixpyjyvcj6n"
   },
   "stable": {
    "version": [
@@ -22076,8 +22079,8 @@
    "deps": [
     "s"
    ],
-   "commit": "f6dcb378bb69c23d58978d5bc1e37c4ae160d278",
-   "sha256": "055b24cskxp0wy74synnnsmfnzbavmazyackq0qfnfbkqryrzfml"
+   "commit": "32196031f60627e88a67b676d643ab51c251711f",
+   "sha256": "19bm4fr38hkh6mrbf0vgafwq2hfldkcn2b5flllvizq2qh86hq81"
   },
   "stable": {
    "version": [
@@ -22219,30 +22222,30 @@
   "repo": "seagle0128/doom-modeline",
   "unstable": {
    "version": [
-    20210606,
-    1532
+    20210627,
+    1731
    ],
    "deps": [
     "all-the-icons",
     "dash",
     "shrink-path"
    ],
-   "commit": "1660910b758251608c17e1a0e27ff862e345daab",
-   "sha256": "1apbh9kp1qk3klx65imbhmxxnf8ax0hzzcdwj4n6qpm7s6bk1gc3"
+   "commit": "07d03c4626eaaf2cc9c346308add3700ad4a3a06",
+   "sha256": "0c9g5i9cyqcc934rz778zia24bls99i9hfl0s61354ncgw4qndfy"
   },
   "stable": {
    "version": [
     3,
-    1,
-    1
+    2,
+    0
    ],
    "deps": [
     "all-the-icons",
     "dash",
     "shrink-path"
    ],
-   "commit": "5cb0ff7a3878b218486fe7ef9b3c83cb226dd03e",
-   "sha256": "1dkgh87sv25mdlzdfihp6gp0asvwplx9yrn7nfsqzsfc3kpajkck"
+   "commit": "d514f43679513819b37333a64a44523f239150b6",
+   "sha256": "1gfkaxga919a1a19dhpbby95l8dixb1278g5d7iadjf2i3j0p3l0"
   }
  },
  {
@@ -22272,14 +22275,14 @@
   "repo": "hlissner/emacs-doom-themes",
   "unstable": {
    "version": [
-    20210604,
-    1922
+    20210701,
+    707
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "b2c0ea0f0778a6ea85b87e1b87916572e98e1fe7",
-   "sha256": "1rjhmjsszms4rlqq368f717ds4kmdjblkgd2ww830d7sy5h5rb6n"
+   "commit": "bd5b9065dea54472519da67ccfcc3185bf5e35c3",
+   "sha256": "0g12rlkfg9ijgd2csrcmcqf6yrs33x9gfkw3g7azp74pvx3cvcmi"
   },
   "stable": {
    "version": [
@@ -22523,11 +22526,11 @@
   "repo": "dracula/emacs",
   "unstable": {
    "version": [
-    20210518,
-    657
+    20210627,
+    1011
    ],
-   "commit": "aa72f3d5c4d49cc0fb581d2f4eac528cf0278a11",
-   "sha256": "1ay4i606rjcr55ky54sxyvh6ac4s4ilr1i3pykvavdgmrzy3ij89"
+   "commit": "99ef8ef438e8e11a4486a20c353508b5e20d010e",
+   "sha256": "0hrqbggmfizl7wcwjcnpgs7ykns6iqwai51mqv61k7m2m37slf6k"
   },
   "stable": {
    "version": [
@@ -22883,16 +22886,16 @@
   "repo": "jacktasia/dumb-jump",
   "unstable": {
    "version": [
-    20210303,
-    1714
+    20210622,
+    1720
    ],
    "deps": [
     "dash",
     "popup",
     "s"
    ],
-   "commit": "8f70acbe164553b225476fed55019ecddcf0bbd6",
-   "sha256": "08g417yf4byhhldvcbkmhrlm7iaylkv0cbcg1c701dyfngxn01y2"
+   "commit": "542e72d3feba986a12119f6def515ef1347cb4ca",
+   "sha256": "1x0g1n9x7qsiwqq8432li6yiww2kvdbk2wkqs3glw97grzrz89gc"
   },
   "stable": {
    "version": [
@@ -22936,17 +22939,17 @@
     20210213,
     757
    ],
-   "commit": "ac3a66e0f7d3577b27cc5d5f2399163bfbe11828",
-   "sha256": "1grll7h2hv906bik224qn9fldmq4lhnlfcif1lg4grr3f4nhl1wc"
+   "commit": "846b38c1efab4757240d131d2c45102930fc305c",
+   "sha256": "1vw500g9jfa4za1f0r90bzzb6ra9jyn52z1g4nwvqcnha1sixj7m"
   },
   "stable": {
    "version": [
     2,
-    8,
-    5
+    9,
+    0
    ],
-   "commit": "e84ba5230f6afacb12f022937138a752f1c301b6",
-   "sha256": "0a1jj6njzsfjgklsirs6a79079wg4jhy6n888vg3dgp44awwq5jn"
+   "commit": "641a95d2254ca7c51c97f07f2eed85b7a95db954",
+   "sha256": "01np4jy0f3czkpzkl38k9b4lsh41qk52ldaqxl98mgigyzhx4w0b"
   }
  },
  {
@@ -23058,11 +23061,11 @@
   "repo": "dylan-lang/dylan-emacs-support",
   "unstable": {
    "version": [
-    20210329,
-    604
+    20210613,
+    1431
    ],
-   "commit": "040c8ebc884305fd4ff980d21c68946fa74b095a",
-   "sha256": "1f99wn0lgknvnplp7nk2lylf17yak2hw53n9a0vkxng01xhf50d2"
+   "commit": "d85409dc3cba57a390ca85da95822f8078ecbfa2",
+   "sha256": "1cm4l2ycaw47mfgc6ms021zxkas1jajgwpnykqlkcwcbakbczxjl"
   }
  },
  {
@@ -23185,14 +23188,14 @@
   "repo": "ahyatt/emacs-dyncloze",
   "unstable": {
    "version": [
-    20210405,
-    212
+    20210613,
+    1956
    ],
    "deps": [
     "dash"
    ],
-   "commit": "38aac1a38017a707b4c539a7932cc8f6cd8f1a77",
-   "sha256": "05i0a1680a79xvawa93iip10ln6bkrnvzqh3a2lica4hfx0hsi0x"
+   "commit": "fe5baf6d324800779f80f5c6298a56e2dcb87598",
+   "sha256": "0c7bh3swwmfc1z834f79jakg1n6li5prd33r5k92id8kl18hb8fj"
   }
  },
  {
@@ -23449,8 +23452,8 @@
     20201112,
     820
    ],
-   "commit": "5f3cfac22a7e2508be47079860ab573f397c3cfa",
-   "sha256": "1p7x7wvzc1sragxpb7b6qnb9fv193mm3ydwf1kwi6rgnz29zql58"
+   "commit": "527df13dcfb11f7a059ca9e8e4d31ab79423d896",
+   "sha256": "0ylmd42z0lczliafwhw0ga80y7j1njdypzmfkmnblhlxyiwjxwxk"
   },
   "stable": {
    "version": [
@@ -24329,8 +24332,8 @@
   "repo": "sebastiw/edts",
   "unstable": {
    "version": [
-    20201110,
-    1827
+    20210630,
+    1626
    ],
    "deps": [
     "auto-complete",
@@ -24341,8 +24344,8 @@
     "popup",
     "s"
    ],
-   "commit": "648e8ac632bee8eaa92fc4e09a674ae453bae0a9",
-   "sha256": "1z7abw4s3k8ynx9i25blp0i51is0wdpsipx79l4wkpazhpsx8gb6"
+   "commit": "5564f5292eba339afa7760af9467c896ccd708da",
+   "sha256": "0dkpijsfprlckaggnzmarrbny2qn02927s0fh94dql2gqkvfxhd0"
   },
   "stable": {
    "version": [
@@ -24505,8 +24508,8 @@
     20200107,
     2333
    ],
-   "commit": "df4e47f7c8adfe90d9bf408459772a6cb4e71b70",
-   "sha256": "1n0dcrhwpl24whxzwhxf7qjlqlllzl5aahdq8h2zdgb6xz912k64"
+   "commit": "54fc2af0efdbb9e000667749bcfc9fda659304cf",
+   "sha256": "032iacivlg86fi3kwgsh0dsggx7kp8l9yvngb4ih7ilfd33mzrza"
   },
   "stable": {
    "version": [
@@ -24526,8 +24529,8 @@
   "repo": "joaotavora/eglot",
   "unstable": {
    "version": [
-    20210526,
-    1751
+    20210611,
+    2249
    ],
    "deps": [
     "eldoc",
@@ -24536,8 +24539,8 @@
     "project",
     "xref"
    ],
-   "commit": "e498cb171bb07ec36880a2494aafc8acb1cc34ca",
-   "sha256": "1q2rg6kk16h0wv70p2x1rg5cjmn0w0gc3phriwdd7iwn842dsrb7"
+   "commit": "5cc8df63d86a6c43134dd6e4e3ae26cfae14e66a",
+   "sha256": "0whplm1858d3mv4af6qk0jr5dk9ym1yzp4zsslrrfpyi54vy96yx"
   },
   "stable": {
    "version": [
@@ -24863,11 +24866,11 @@
   "repo": "dimitri/el-get",
   "unstable": {
    "version": [
-    20210606,
-    911
+    20210613,
+    1418
    ],
-   "commit": "52df810e538243d07f2a317ad36e351b440a75e0",
-   "sha256": "0s9107bss982v4njwkfyi4gismg402xcrqkq9c2hrwhyr6pny4w0"
+   "commit": "ec135b5353867ce3564a675e99024944b834395d",
+   "sha256": "1mpc4gnrpvqvhfvjvp4hqb4x6nzn1kfzgsqi4sdjgbfjqll2jzv0"
   },
   "stable": {
    "version": [
@@ -25170,8 +25173,8 @@
     20210524,
     1611
    ],
-   "commit": "afe8f31e2b9f78d13b22a695b7cf9c373656b85e",
-   "sha256": "09yk4xvsdd5mvrzx4kdfyi2bkbdykjg80hcxvjamh967s6vinzjb"
+   "commit": "64545671174f9ae307c0bd0aa9f1304d04236421",
+   "sha256": "10hjqva6xpilnsfsi8z7w3mjmii4hzf53cmccv1w3076ccvcpq62"
   }
  },
  {
@@ -25219,8 +25222,8 @@
     20210530,
     1641
    ],
-   "commit": "e9af76aa8fd9ce5b7010b7322a73341828cfe690",
-   "sha256": "1wryp568bl5p0s78va2pgh9aiskhphmva20zmk1jg0qjxim58grv"
+   "commit": "d51ce6152519b5cf32d0dcc40cad6787eb605997",
+   "sha256": "1nkc9fwg7fn8gvj4zg515320p7m2h3b1nyd6zzbp2v60qj7277jq"
   },
   "stable": {
    "version": [
@@ -25240,11 +25243,11 @@
   "repo": "casouri/eldoc-box",
   "unstable": {
    "version": [
-    20210402,
-    2039
+    20210608,
+    2202
    ],
-   "commit": "f66f8d0641a0025d65da1ec21141ea594d6883da",
-   "sha256": "1y9ns6kmhgzi176z251cymplqc9bdk0axhhcvh4mn21vi5igz4pz"
+   "commit": "13d207d40863a041b84c34f075668c7931db5a78",
+   "sha256": "1cvwp01w0adgxwlsispmir4wgs73cl62n5rh7ri6rw6g4fribq1m"
   },
   "stable": {
    "version": [
@@ -25302,15 +25305,15 @@
   "repo": "stardiviner/eldoc-overlay",
   "unstable": {
    "version": [
-    20200715,
-    1214
+    20210630,
+    1345
    ],
    "deps": [
     "inline-docs",
     "quick-peek"
    ],
-   "commit": "563ca285a510d1cbd5129cc3a8f8a3cdded065de",
-   "sha256": "1llh93rlvzsl9m2f7gprb5rbbf2ghysyn1balb8clb64hq98gjyb"
+   "commit": "3edbfb23836bdef253f4a5fd125952e55877d2b2",
+   "sha256": "1r2fjdra4bav16c108jzzjd2qhng7493i7l7znbasialf40j3cbs"
   }
  },
  {
@@ -25412,11 +25415,11 @@
   "repo": "xwl/electric-spacing",
   "unstable": {
    "version": [
-    20210430,
-    1714
+    20210625,
+    1722
    ],
-   "commit": "800e09af7b0cd5d78d22f857dbce10fb080637df",
-   "sha256": "0ykndvbbx8rvaxppmkngyrzp1x6fghj9xv55i847kpzx1c6gs4fc"
+   "commit": "1be87078a689d967cb2d6654659fb49427926d62",
+   "sha256": "06iws70cc58xs79wlv9wgqk6vk9grvv1jhcngjjwg0pdn080rksz"
   }
  },
  {
@@ -25531,6 +25534,44 @@
   }
  },
  {
+  "ename": "elfeed-autotag",
+  "commit": "11425f3533d452f1f7f412b1dbe617be9dcbf225",
+  "sha256": "0p6avgi7pclcf1ml0k3lzwd92plgz28d8q82675gyjs8gfwkn5m7",
+  "fetcher": "github",
+  "repo": "paulelms/elfeed-autotag",
+  "unstable": {
+   "version": [
+    20210607,
+    637
+   ],
+   "deps": [
+    "dash",
+    "elfeed",
+    "elfeed-protocol",
+    "org",
+    "s"
+   ],
+   "commit": "bc62c37fb79b720ff8b6d67f04f2268841306dcd",
+   "sha256": "0vmvl3c465i2gkm9079hj7l3qxna37q3rrs498r8dby11c0dgcax"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    2
+   ],
+   "deps": [
+    "dash",
+    "elfeed",
+    "elfeed-protocol",
+    "org",
+    "s"
+   ],
+   "commit": "bc62c37fb79b720ff8b6d67f04f2268841306dcd",
+   "sha256": "0vmvl3c465i2gkm9079hj7l3qxna37q3rrs498r8dby11c0dgcax"
+  }
+ },
+ {
   "ename": "elfeed-dashboard",
   "commit": "339127464845e86419c6a88004fc16b60d675f57",
   "sha256": "1ykg8gcsl7gf1w2xvd1wm088fw1l1mbsamx7drrvkdnpwxx6xiga",
@@ -25907,15 +25948,15 @@
   "repo": "Wilfred/elisp-refs",
   "unstable": {
    "version": [
-    20200815,
-    2357
+    20210615,
+    1624
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "b3634a4567c655a1cda51b217629849cba0ac6a7",
-   "sha256": "1zy629gavyrwx5gmpz7l1a86hbrxjrfqik398v3ja8vg8bj9d6nq"
+   "commit": "fdde21e34b1272783d566d8230b5ed2dc4749048",
+   "sha256": "15g3xp3w8lrshjf812c8v50y396zx7107fcyc59kljhsc257j62y"
   },
   "stable": {
    "version": [
@@ -26361,11 +26402,11 @@
   "repo": "redguardtoo/elpa-mirror",
   "unstable": {
    "version": [
-    20210509,
-    439
+    20210614,
+    302
    ],
-   "commit": "193dd942cd74f71d94067f48249427676ba7dec8",
-   "sha256": "0hwsy780x1kw1c9k1xrbrbip6l62fa41czal0nnqr9li0brig7d7"
+   "commit": "18209f7f4602e48204992e38c5d265eb1a68320a",
+   "sha256": "0507bydbplh515jm1y8w9fpv3mljxkj797ssackadx484n3v0yvv"
   },
   "stable": {
    "version": [
@@ -26424,8 +26465,8 @@
   "repo": "jorgenschaefer/elpy",
   "unstable": {
    "version": [
-    20210328,
-    1852
+    20210630,
+    2317
    ],
    "deps": [
     "company",
@@ -26434,8 +26475,8 @@
     "s",
     "yasnippet"
    ],
-   "commit": "2203597e1254eba345d6873daa40c7b9d144931c",
-   "sha256": "0rzqmcbrq7xdk748cwy5ikzbg7f13g57jf7rhxyfy6j5pwn8q7k7"
+   "commit": "4248dccef31e260813d93cafd083bfcd71efc92a",
+   "sha256": "16pkbg1fwsn0haz2x0ky9pmpgxj9syszsm5g58jra5r0dhyv99vz"
   },
   "stable": {
    "version": [
@@ -26737,11 +26778,11 @@
   "repo": "emacscollective/elx",
   "unstable": {
    "version": [
-    20210504,
-    1306
+    20210615,
+    1503
    ],
-   "commit": "53d257db92fb72ade8ea1b91dc6839c21563119e",
-   "sha256": "1qccz8z0410xhygrfy62h1j3553avdcb7m61ps6b6y74nz615l1r"
+   "commit": "ef6dfa8e598b2761d0a481526e98e254123a20f6",
+   "sha256": "0p7c2mnwz85klliy1af96knkdja6q9k9j11r0hfka7g4fak0qi6d"
   },
   "stable": {
    "version": [
@@ -26818,11 +26859,11 @@
   "repo": "skeeto/emacsql",
   "unstable": {
    "version": [
-    20200714,
-    28
+    20210615,
+    1539
    ],
-   "commit": "6d8cd9366284b5a27268ff4b783e2c34573d5b60",
-   "sha256": "04l1rzsmy9131h42y1v6vsfbby7v1gldwd5g600mqfjbbwcnbgsk"
+   "commit": "9dca5996168c4963eb67e61c7f17fdcb8228e314",
+   "sha256": "1gjwll970avjv0ah4m8w56ybi4l4bc4n8p29wq77za56m0g6jzrg"
   },
   "stable": {
    "version": [
@@ -26848,8 +26889,8 @@
    "deps": [
     "emacsql"
    ],
-   "commit": "6d8cd9366284b5a27268ff4b783e2c34573d5b60",
-   "sha256": "04l1rzsmy9131h42y1v6vsfbby7v1gldwd5g600mqfjbbwcnbgsk"
+   "commit": "9dca5996168c4963eb67e61c7f17fdcb8228e314",
+   "sha256": "1gjwll970avjv0ah4m8w56ybi4l4bc4n8p29wq77za56m0g6jzrg"
   },
   "stable": {
    "version": [
@@ -26878,8 +26919,8 @@
    "deps": [
     "emacsql"
    ],
-   "commit": "6d8cd9366284b5a27268ff4b783e2c34573d5b60",
-   "sha256": "04l1rzsmy9131h42y1v6vsfbby7v1gldwd5g600mqfjbbwcnbgsk"
+   "commit": "9dca5996168c4963eb67e61c7f17fdcb8228e314",
+   "sha256": "1gjwll970avjv0ah4m8w56ybi4l4bc4n8p29wq77za56m0g6jzrg"
   },
   "stable": {
    "version": [
@@ -26908,8 +26949,8 @@
    "deps": [
     "emacsql"
    ],
-   "commit": "6d8cd9366284b5a27268ff4b783e2c34573d5b60",
-   "sha256": "04l1rzsmy9131h42y1v6vsfbby7v1gldwd5g600mqfjbbwcnbgsk"
+   "commit": "9dca5996168c4963eb67e61c7f17fdcb8228e314",
+   "sha256": "1gjwll970avjv0ah4m8w56ybi4l4bc4n8p29wq77za56m0g6jzrg"
   },
   "stable": {
    "version": [
@@ -27058,11 +27099,11 @@
   "repo": "oantolin/embark",
   "unstable": {
    "version": [
-    20210607,
-    1506
+    20210615,
+    1833
    ],
-   "commit": "ef609bf15368a68c4eb3c46fd8cc1bb623b6b83e",
-   "sha256": "0ddh7zqgaq07534l6m3wjvbcj23a01h3x7scd4pl5rj6wyxqwv76"
+   "commit": "acbe1cba548832d295449da348719f69b9685c6f",
+   "sha256": "0c1zqfrn2va2m9z6rw3i2h6dwm2vc0asbha4d9r0gss4b7519pf2"
   },
   "stable": {
    "version": [
@@ -27088,8 +27129,8 @@
     "consult",
     "embark"
    ],
-   "commit": "ef609bf15368a68c4eb3c46fd8cc1bb623b6b83e",
-   "sha256": "0ddh7zqgaq07534l6m3wjvbcj23a01h3x7scd4pl5rj6wyxqwv76"
+   "commit": "acbe1cba548832d295449da348719f69b9685c6f",
+   "sha256": "0c1zqfrn2va2m9z6rw3i2h6dwm2vc0asbha4d9r0gss4b7519pf2"
   },
   "stable": {
    "version": [
@@ -27256,29 +27297,29 @@
   "url": "https://git.savannah.gnu.org/git/emms.git",
   "unstable": {
    "version": [
-    20210607,
-    1450
+    20210619,
+    1246
    ],
    "deps": [
     "cl-lib",
     "nadvice",
     "seq"
    ],
-   "commit": "c360a8934c1e07ddab4e12d28800d362d254ccbd",
-   "sha256": "02aikwki7932dldhnsq8ndca59spbc4g2kjfal3sw16lklfw0sfa"
+   "commit": "6e0aaaf4c5598826b24c3079b80bf8af000a77c6",
+   "sha256": "016y0w1gy8z1gdri54njas20l3kw99jg5bjyrmcbmgzjmb1jq0y8"
   },
   "stable": {
    "version": [
     7,
-    2
+    5
    ],
    "deps": [
     "cl-lib",
     "nadvice",
     "seq"
    ],
-   "commit": "b0173b6b4c5b66a4706cb82c9b50a179bf159a0f",
-   "sha256": "1scppj8wkiml4dgsg4540hdd8mv9ghcp2r17b647az0ccxwp73qm"
+   "commit": "144c49ac2931b6e57e265cc6139b7c9718f1297e",
+   "sha256": "0j9qh781zr348qx49zvr59rdpmh4204fqx9sm3mfh3kg6kbc7v8x"
   }
  },
  {
@@ -28006,26 +28047,26 @@
   "repo": "emacscollective/epkg",
   "unstable": {
    "version": [
-    20210530,
-    1147
+    20210616,
+    2229
    ],
    "deps": [
     "closql"
    ],
-   "commit": "8ee60b65bff02ef606d489b83e2def9922e9623d",
-   "sha256": "03zsysj78w43q902wi9dhck64q9va247avr6fhdw8ynf2lvb78d3"
+   "commit": "44b7b2519f84056ee94a6c4ce21fce146532174c",
+   "sha256": "0z9sz9ydfjzhawh4qip41h3vid1lslaf0h14hkjz9kx8fkrzib8a"
   },
   "stable": {
    "version": [
     3,
     3,
-    0
+    1
    ],
    "deps": [
     "closql"
    ],
-   "commit": "8ee60b65bff02ef606d489b83e2def9922e9623d",
-   "sha256": "03zsysj78w43q902wi9dhck64q9va247avr6fhdw8ynf2lvb78d3"
+   "commit": "44b7b2519f84056ee94a6c4ce21fce146532174c",
+   "sha256": "0z9sz9ydfjzhawh4qip41h3vid1lslaf0h14hkjz9kx8fkrzib8a"
   }
  },
  {
@@ -28158,10 +28199,10 @@
  },
  {
   "ename": "eradio",
-  "commit": "533c3f130d94335bf18907fefe2b5f1e047cdfbe",
-  "sha256": "0dxlsikgz1fbsypxxzczp6m4bbqh4kqv0f7w058z2sgzplybq3m4",
+  "commit": "99f67df1d87ecd1bb54b85fa1711dfba90dd00dc",
+  "sha256": "1w6igfsb8l4i2nq1h528wys61gwh784xzm99bw25rrjj17jdyxsn",
   "fetcher": "github",
-  "repo": "fossegrim/eradio",
+  "repo": "olavfosse/eradio",
   "unstable": {
    "version": [
     20210327,
@@ -28277,11 +28318,11 @@
   "repo": "alexmurray/erc-matterircd",
   "unstable": {
    "version": [
-    20201029,
-    2321
+    20210701,
+    32
    ],
-   "commit": "d46f55909f1c229fd84f409ef992a7a463719893",
-   "sha256": "19vwpl40nw3jgfmiwl1y4yna0ygjyzlqf5gs85g63f61d89gjlrs"
+   "commit": "6e9698310f5df5193bccb334839bca29e4bbfe30",
+   "sha256": "0cwq1ljgb0ga1b8f8gks9c4y8rqjfawpr4l0fi0p3y674a76z33f"
   }
  },
  {
@@ -28643,19 +28684,17 @@
     20200914,
     644
    ],
-   "commit": "044843c5281a7bdb9479317793a75c8c0fcfadd9",
-   "sha256": "04lirb2p1h46c1l84ysdnr2jxvzsdw1zv6jhm7h8ybgzmaa65b6m"
+   "commit": "007a26fb5f7d9eb54db16484fb116d6e47c8cc5e",
+   "sha256": "1w9pra3qqmidsf5mvp0lmk9liw1ryaf8kjiawfgyyc6mzgw6nrvz"
   },
   "stable": {
    "version": [
     2,
     6,
-    1,
-    3,
-    20210605
+    2
    ],
-   "commit": "ab805592a0ae7066fbd5fa5f47e933194fce878f",
-   "sha256": "19ld12x4is0nx52i05zv20js0zysx3bljbdn2nr65vy11dq2cyyp"
+   "commit": "246a229faea2ef2fa53caf491ff8a2d72dd7510c",
+   "sha256": "1ccmryw6vs8d87d5zmjl0kr2kvyd1zxl73344fa7yzqgg2kw1da6"
   }
  },
  {
@@ -28669,17 +28708,17 @@
     20210315,
     1640
    ],
-   "commit": "a8969ec16a91c0e1ac56a438d81069d288662518",
-   "sha256": "0wp6sf8rw73waws47av68d4sdd28qix74n53c4fpdc4c2xq3j3h6"
+   "commit": "3517ac9f6b48641b949e19971a1a2d022b7494a0",
+   "sha256": "1r9adb0x370c3cj93lgaag2ifkgi954gh5hnshkr3wz8bpqirvk1"
   },
   "stable": {
    "version": [
     24,
     0,
-    2
+    3
    ],
-   "commit": "82f97b9d3d639ed87175aeed75747eb6594170ab",
-   "sha256": "065kc9p30jam23grpm7dwxjf76n6g1hzdrq9q1irr3qmw1rr0240"
+   "commit": "0a887ba078f6faadea128b51a98e928dcb0e79a4",
+   "sha256": "0hirfg5y53gj5smf2rqxiadj02ad761hgq3yqcz4j1ldnm50hlr9"
   }
  },
  {
@@ -29418,8 +29457,8 @@
     20210405,
     1808
    ],
-   "commit": "3d62a3319ab03a810030058d3fb368b28dfd82d5",
-   "sha256": "0hj3nczmqmgiwsvh664rs34j63wl325x6nar21p1a84h5ximpkxq"
+   "commit": "5bf63dacc5df8a74860e80dabd16afce68a24a36",
+   "sha256": "1vxg86wv6f96bva0d1xxhisk525chwhdl4nq77xhriflq65mcmi3"
   }
  },
  {
@@ -29531,11 +29570,11 @@
   "repo": "emacs-ess/ESS",
   "unstable": {
    "version": [
-    20210520,
-    2146
+    20210616,
+    1806
    ],
-   "commit": "f62f460e3c55e5e7ad5941225e7884b0e1656131",
-   "sha256": "0i5i59pbga10s4yml5vi4fbbxmaqgf8fx4caj3mfgd8dkrkxblgp"
+   "commit": "a5df6aa81351385e9813b722afcacdba1648226d",
+   "sha256": "0di7s1k9lizvbr4n59qhn6ipc67klcyimlkdqw4if7nkfjif5bsn"
   },
   "stable": {
    "version": [
@@ -30126,15 +30165,15 @@
   "repo": "emacs-evil/evil",
   "unstable": {
    "version": [
-    20210527,
-    2107
+    20210628,
+    1913
    ],
    "deps": [
     "cl-lib",
     "goto-chg"
    ],
-   "commit": "ad47644eea5e351269f5bead18e713768d96f207",
-   "sha256": "1bcdrvrrjq9r75cfrxziq84slrjm8gbbhbm72hqjfzka6zcnr39g"
+   "commit": "f20d442ff006aa5a6dc48ac654906b48b95107fd",
+   "sha256": "0bl854036zpjg5p5asamvlnl9lf46rgcpa645yhrvxqmwznm6din"
   },
   "stable": {
    "version": [
@@ -30328,15 +30367,15 @@
   "repo": "emacs-evil/evil-collection",
   "unstable": {
    "version": [
-    20210607,
-    1954
+    20210701,
+    1024
    ],
    "deps": [
     "annalist",
     "evil"
    ],
-   "commit": "86b02f84a8df0ddd6216cb85d49bedd6ee2ab747",
-   "sha256": "0vh0wdzz9idfinbfd3mynlp88lgq5j9wk8c3pc5a1is6g3jpj938"
+   "commit": "a24168ffe3711890b5dcd41041a51146bbd67497",
+   "sha256": "1pz046fw06lgc7gjrfr0a895j867mm96k8h5dw3k0p64rh1xh1sa"
   },
   "stable": {
    "version": [
@@ -30894,26 +30933,26 @@
   "repo": "redguardtoo/evil-matchit",
   "unstable": {
    "version": [
-    20210325,
-    123
+    20210609,
+    1311
    ],
    "deps": [
     "evil"
    ],
-   "commit": "8c8c94bea899718f393ad041202a355e6f24ea19",
-   "sha256": "0vygxkvri6363wi3byjd2r23bjyvjkfy58n2kshslaq18z5vylzl"
+   "commit": "d7ad7f712b98aa64b7cc4fb16354b32666739c77",
+   "sha256": "1x7wpq0lgkp016yik6sc7b2abhixgcwk0mxx29dyycsjjkdlhp3a"
   },
   "stable": {
    "version": [
     2,
     3,
-    11
+    12
    ],
    "deps": [
     "evil"
    ],
-   "commit": "a0c5bd1fe89119b94ffb0a266d2969434e7ec4c1",
-   "sha256": "1990g1b6v0i7jaiv35bdssdn601rjifzg4fy9s3sxk0drqm1xiss"
+   "commit": "9cd0ddaacb3476221d37344715c759ed3cb538d7",
+   "sha256": "0l4ash907d91vccqdxjz1v5spd8f4va0vrdri6h9y1qc67mjlsph"
   }
  },
  {
@@ -31029,11 +31068,11 @@
   "repo": "redguardtoo/evil-nerd-commenter",
   "unstable": {
    "version": [
-    20210528,
-    1009
+    20210624,
+    1122
    ],
-   "commit": "c0f49e4e87300720b8e8a8296d92b8386956c7a2",
-   "sha256": "0ci3hjzgwayz9nvmwg5vbmvn80cz0lsppghi511cbr3cdf8xkkv4"
+   "commit": "118bebd02a489ddf5eee3ab6fb55b3ef37ebe6d4",
+   "sha256": "15phgj1x2k7i6wnhq3lbrjldrc7xr18z4sgsmklwwgr4blx9ql1s"
   },
   "stable": {
    "version": [
@@ -31463,15 +31502,15 @@
   "repo": "hlissner/evil-snipe",
   "unstable": {
    "version": [
-    20210607,
-    420
+    20210609,
+    509
    ],
    "deps": [
     "cl-lib",
     "evil"
    ],
-   "commit": "9bd7345476174dfc6eeaa700a505e45b155ddb83",
-   "sha256": "1p7v9pnbyc4mhpkvmyl9vr825grqnfyl0h203sbnb1vnw15bbnbp"
+   "commit": "a9b9b39a7915e66b7d5da9cecfaf002c72d08196",
+   "sha256": "01ikzxvm878k0xwj10h3ww02459g3jiz4fjsm481jw1jjvnxg5b2"
   },
   "stable": {
    "version": [
@@ -31557,14 +31596,14 @@
   "repo": "emacs-evil/evil-surround",
   "unstable": {
    "version": [
-    20200603,
-    2216
+    20210615,
+    2119
    ],
    "deps": [
     "evil"
    ],
-   "commit": "4706987bc01a552343848da49b4951bd54374643",
-   "sha256": "0v2v58pchr5icdpvg4k6vblxhgjk09wi7f54hs1dj0f6rgvpxmx5"
+   "commit": "3bd73794ee5a760118042584ef74e2b6fb2a1e06",
+   "sha256": "125yxpd2cmhwvcb0p9z5dc6ydk4w2a9vblkn9hayh6myj9jwjy9f"
   },
   "stable": {
    "version": [
@@ -31654,8 +31693,8 @@
    "deps": [
     "evil"
    ],
-   "commit": "ad47644eea5e351269f5bead18e713768d96f207",
-   "sha256": "1bcdrvrrjq9r75cfrxziq84slrjm8gbbhbm72hqjfzka6zcnr39g"
+   "commit": "f20d442ff006aa5a6dc48ac654906b48b95107fd",
+   "sha256": "0bl854036zpjg5p5asamvlnl9lf46rgcpa645yhrvxqmwznm6din"
   },
   "stable": {
    "version": [
@@ -32308,8 +32347,8 @@
     20190520,
     1106
    ],
-   "commit": "e043df1bcef40cd5934a74c210e1e35d5eb0e5a6",
-   "sha256": "0am4g25mlmm1iqcm2kxzskrzhrm1f09cdwcqmvk4lidid5xcb6xc"
+   "commit": "fc6713e753380f3034d8df55b7af3a737ea52ab4",
+   "sha256": "17p8gcbm81qq1rgn3xdblmvyx3qn4sjpylna7pfpq32nkxjaajvc"
   },
   "stable": {
    "version": [
@@ -32338,10 +32377,10 @@
  },
  {
   "ename": "expand-line",
-  "commit": "3416586d4d782cdd61a56159c5f80a0ca9b3ddf4",
-  "sha256": "0bzz7zrpfdxhjxs7nzlmzjb9jfajhxkivzr5sm87mg3zx8b6gjyi",
+  "commit": "06f13c6ff35e0e710407b2138fcefaebf01b007a",
+  "sha256": "19vk9kp1pp5m9l6qwgnxalamqlcds66f3vc0psyymna1g7pinr1w",
   "fetcher": "github",
-  "repo": "zhangkaiyulw/expand-line",
+  "repo": "victorteokw/expand-line",
   "unstable": {
    "version": [
     20151006,
@@ -32359,11 +32398,11 @@
   "repo": "magnars/expand-region.el",
   "unstable": {
    "version": [
-    20200304,
-    1839
+    20210624,
+    1015
    ],
-   "commit": "4b8322774d9c1d8b64a0049d1dbbc1e7ce80c1a0",
-   "sha256": "1x6sbychbz91q7mnfn882ir9blfw98mjcrzby38z1xlx3c9phwyi"
+   "commit": "519e92eabc470fe1792d8d4a37c98e76cf195840",
+   "sha256": "0rh5li9i6nz81mbji87dnv5ly58rl5lphlvjx4m0hb7dlqpw0db2"
   },
   "stable": {
    "version": [
@@ -32775,15 +32814,15 @@
   "repo": "rejeep/f.el",
   "unstable": {
    "version": [
-    20191110,
-    1357
+    20210624,
+    1103
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "c4dbf8c8e83df834f5d6f72cd5649b9d8a8812ec",
-   "sha256": "132zj5yvx4llzsh6rs0jwj0b5cfl140v0m6rk0kckw3vfgfh0cln"
+   "commit": "50af874cd19042f17c8686813d52569b1025c76a",
+   "sha256": "0k6qp5vqyiql9f6i6z95iskjpv9wn6sd66wnf2x0jxbws4r2bjxy"
   },
   "stable": {
    "version": [
@@ -32871,10 +32910,10 @@
  },
  {
   "ename": "face-shift",
-  "commit": "e55d2d30525602726c3c63025f5fce671efac416",
-  "sha256": "1y0m6yv64q76x6i2r5npn97c2axsy2k7b3m58zxh8p7c5lpwjdpa",
+  "commit": "982788433004ba644a372c50130613e3c56bba10",
+  "sha256": "06962zrxnm7q9w8ddm6xwa2q1vbb8wi1z8sqmw0yksz6wra49d5w",
   "fetcher": "git",
-  "url": "https://git.sr.ht/~zge/face-shift",
+  "url": "https://git.sr.ht/~pkal/face-shift",
   "unstable": {
    "version": [
     20190818,
@@ -32883,8 +32922,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "8dd6fb5f6277d3a594654aeb3e6a7b7b5581656a",
-   "sha256": "003k8i18s782zf1g0c9wi8p9lyk0viz76dah8hd3y622hmx8sdlb"
+   "commit": "8c62d7a27a0e3092942742362ed73e17e254e904",
+   "sha256": "028b3j7rp4z78285r8w4db8dx9j6zlqp8aw4y0pvd4ifqbs5wh05"
   },
   "stable": {
    "version": [
@@ -32952,8 +32991,8 @@
     20210602,
     1952
    ],
-   "commit": "45f2faef92ee23738b86f4f8d0a433ad729a5ca8",
-   "sha256": "0slvrgw508388il24wlx9g0bf32anpk6rbhmb2r99anq2vhn4b4g"
+   "commit": "cb8803355e20812d84195b1b7c9b0578c3262e68",
+   "sha256": "0wx2k9262p712aasn3ha8si250yzhcqz513apna8lp5gri2rxsg8"
   },
   "stable": {
    "version": [
@@ -33424,20 +33463,20 @@
   "repo": "technomancy/fennel-mode",
   "unstable": {
    "version": [
-    20210410,
-    1942
+    20210624,
+    1431
    ],
-   "commit": "59ab02344f569069b9899a3a5ffdca4a30093df4",
-   "sha256": "1vh6n2sg89g43sidymk22wjzjh71wgbajshhh7y3f6zf8xs94mmz"
+   "commit": "f37a3de72c6cbf37f82d4b2f37d9009af5058099",
+   "sha256": "1qnmcysrl2zxiid4v1h1hq1nax3a7sxs2dmag54sfifm149lf7f3"
   },
   "stable": {
    "version": [
     0,
-    2,
+    3,
     0
    ],
-   "commit": "ae4634bef12f66a1d4721ab74c5bf8dd29d710d2",
-   "sha256": "15b5zb66dzszpdiqkwgxqv434kqgpk1l065ic4lbj3y3krm2snbg"
+   "commit": "ea8564a2cc4f7e10b3fc13faf26a4f098b159f00",
+   "sha256": "1qnmcysrl2zxiid4v1h1hq1nax3a7sxs2dmag54sfifm149lf7f3"
   }
  },
  {
@@ -33574,15 +33613,15 @@
   "repo": "knpatel401/filetree",
   "unstable": {
    "version": [
-    20210514,
-    1614
+    20210629,
+    356
    ],
    "deps": [
     "dash",
     "helm"
    ],
-   "commit": "08c0ea22f304f9777cd96e9b86f7c6e5331e82d8",
-   "sha256": "1phqiisabqsfkmslajl012lc0bf5y0vkgrcjavbwzf52hj7kn982"
+   "commit": "f7dd8a310f5364f1e1549082ef231c3c27285e89",
+   "sha256": "1w1f924as6l0s9dkpjjk6bnkp29x52mf5pzzqxqsigp2r1z6k2lk"
   }
  },
  {
@@ -33768,8 +33807,8 @@
     20210427,
     1205
    ],
-   "commit": "3bf010d2be073d499de5ffdaa98f48bf8a3dd21e",
-   "sha256": "0zpckqcx4fbjni1f0c6wzi1356ab06j33himfgkhvyl1bn4w5jna"
+   "commit": "680ec93808176442a2c78b91b18bb4256d81d340",
+   "sha256": "1af30i3nsms1s2gwq3wx0xbmjxd95hipai63icw3jpwc3pmw3g2n"
   },
   "stable": {
    "version": [
@@ -33918,11 +33957,11 @@
   "repo": "jming422/fira-code-mode",
   "unstable": {
    "version": [
-    20201005,
-    1607
+    20210621,
+    1933
    ],
-   "commit": "a3a7a75d2b8b15404c37de186162a5f89ba447bf",
-   "sha256": "0az773s1g8c1sahyrci4zclzhyznr3kizmvxs65rpn0pcmcfq1m8"
+   "commit": "85e0eba018bca70040faea19996b43ce8e543cad",
+   "sha256": "1mv0gphbp976ncfif2jbfrmkayh0lp5cjqmiimhw1inw7ps18k5r"
   }
  },
  {
@@ -34855,14 +34894,14 @@
   "repo": "leotaku/flycheck-aspell",
   "unstable": {
    "version": [
-    20210605,
-    1713
+    20210618,
+    920
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "8c45988a12e7c149b17d7edb84e6dfc33bb7b288",
-   "sha256": "1lsfz3yi3i1mqmq6p9x6fx26wrlqihsaz3yk5g50yv6jqvfr1g79"
+   "commit": "3abe1a6184fefea3e427141131fba40afae3d356",
+   "sha256": "1g600caz7v7qm6fj67x0s064f4n5fr57bnd0m3sc43gn24rpjjdv"
   }
  },
  {
@@ -35723,31 +35762,31 @@
  },
  {
   "ename": "flycheck-grammalecte",
-  "commit": "2e7aee5074faedef4f2b989ffe05995b2f73bfbb",
-  "sha256": "031x2yh3wdklsm169h34sg0bzpl36nfms129zj4j0z99gw1kda3z",
+  "commit": "5f03c71c5482b4f3f6424e71dc19e7daec400db6",
+  "sha256": "0w55xmxxa28k776fl0kc08frsk1msq0ia40afa4gj8g6mi254qm3",
   "fetcher": "git",
   "url": "https://git.umaneti.net/flycheck-grammalecte/",
   "unstable": {
    "version": [
-    20210504,
-    1852
+    20210627,
+    1018
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "f488739aea2ef5c8d39bd28083dd72fdfee46e02",
-   "sha256": "18yiv09hzbclf9rjp61lxlia2m1qbvmwkiqxxs9jjpac28x7ypjf"
+   "commit": "8f13de89134e9708b2a24a040a0335a7302632f9",
+   "sha256": "1acwvndq604gl5n3985mj5v70vcl3d12vh6bzs5nz5xyr8c848z7"
   },
   "stable": {
    "version": [
-    1,
-    4
+    2,
+    0
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "f488739aea2ef5c8d39bd28083dd72fdfee46e02",
-   "sha256": "18yiv09hzbclf9rjp61lxlia2m1qbvmwkiqxxs9jjpac28x7ypjf"
+   "commit": "fab1b5071b7fe7a34869ffb8672abad38948c047",
+   "sha256": "040mb9djj4cxpjsjch9i30pi36a2z7grkhnsnfdi5qyh341p4pq0"
   }
  },
  {
@@ -36178,6 +36217,37 @@
   }
  },
  {
+  "ename": "flycheck-languagetool",
+  "commit": "06859c648c33d422a798ef98a564cb79783a9a3d",
+  "sha256": "0qnvvl9bfx7i0agfm3v7qrcjm86vfshpx97aa0ms8byw77hii5i7",
+  "fetcher": "github",
+  "repo": "emacs-languagetool/flycheck-languagetool",
+  "unstable": {
+   "version": [
+    20210629,
+    536
+   ],
+   "deps": [
+    "flycheck"
+   ],
+   "commit": "6ade9d7f294cee7e41d0bce9dddb139c49985501",
+   "sha256": "1yq2n7bknw7by1cn53xn7kz8a3qj1w7szsjysaj93mhxb154g9qz"
+  },
+  "stable": {
+   "version": [
+    0,
+    2,
+    0
+   ],
+   "deps": [
+    "flycheck",
+    "s"
+   ],
+   "commit": "5608a330e09222d05bf0354f1847f537168e22dd",
+   "sha256": "0v6gqhgwn2x6qd34380y5n1ql08anv02bs6qk7glq6a0ha8xkzfa"
+  }
+ },
+ {
   "ename": "flycheck-ledger",
   "commit": "dc715e6849aa5d6017e2478514c4a0d84c7ddbe5",
   "sha256": "0807pd2km4r60wgd6jakscbx63ab22d9kvf1cml0ad8wynsap7jl",
@@ -36513,15 +36583,15 @@
   "repo": "emacs-php/phpstan.el",
   "unstable": {
    "version": [
-    20201126,
-    603
+    20210617,
+    2237
    ],
    "deps": [
     "flycheck",
     "phpstan"
    ],
-   "commit": "6863a5278fc656cddb604b0c6e165f05d0171d0a",
-   "sha256": "05q1y6xshh5csr672jwplp2xmp87gvj9rc65ybpa687dkdmq8cdh"
+   "commit": "56617fa87c9bec037d4e4a0a143b7d70a989c082",
+   "sha256": "02k4pmmxq3h8mi0dsjh0s0002gjkpg6g9pxsnxgalwb6rakfirbh"
   },
   "stable": {
    "version": [
@@ -36900,8 +36970,8 @@
     "flycheck",
     "rtags"
    ],
-   "commit": "63f18acb21e664fd92fbc19465f0b5df085b5e93",
-   "sha256": "0wzyn9qzyly71yfwhlk5m94ygjnbk459pgbpgkhp9fqgchx12p1r"
+   "commit": "65113e2a137baa9f85dc2157b893291470788dc4",
+   "sha256": "1qc4hy6r2sz59nb28xrrqiad91xbmsrr9jzhi4k915qgds6m029h"
   },
   "stable": {
    "version": [
@@ -37355,8 +37425,8 @@
     20210411,
     2342
    ],
-   "commit": "8c45988a12e7c149b17d7edb84e6dfc33bb7b288",
-   "sha256": "1lsfz3yi3i1mqmq6p9x6fx26wrlqihsaz3yk5g50yv6jqvfr1g79"
+   "commit": "3abe1a6184fefea3e427141131fba40afae3d356",
+   "sha256": "1g600caz7v7qm6fj67x0s064f4n5fr57bnd0m3sc43gn24rpjjdv"
   }
  },
  {
@@ -37898,6 +37968,36 @@
   }
  },
  {
+  "ename": "flymake-languagetool",
+  "commit": "3ead983cef03a4a25f78bac45d4a7cca5058880a",
+  "sha256": "07m3mps9vs2zk63ssgcwwmdbfln7qzqhnny4i90x6kd2g10vkmvc",
+  "fetcher": "github",
+  "repo": "emacs-languagetool/flymake-languagetool",
+  "unstable": {
+   "version": [
+    20210627,
+    434
+   ],
+   "deps": [
+    "s"
+   ],
+   "commit": "5e44d7ba7153d20a01428bff98c1949a7a0eb753",
+   "sha256": "19149wr4plng3n1bpfd49ja1phd3sbyrxa6vk47qh8xc7x1ra309"
+  },
+  "stable": {
+   "version": [
+    0,
+    2,
+    0
+   ],
+   "deps": [
+    "s"
+   ],
+   "commit": "f0f105ab11fd1de1379baef91fcd46e6c2464dca",
+   "sha256": "1sylnd4hybxnygcgxqw8p7mlp0r000n6f44y5fq3sv9518l5mflz"
+  }
+ },
+ {
   "ename": "flymake-less",
   "commit": "6d4eae8b7b7d81ebf4d85f38fc3a17b4bc918318",
   "sha256": "05k5daphxy94164c73ia7f4l1gv2cmlw8xzs8xnddg7ly22gjhi0",
@@ -38086,14 +38186,14 @@
   "repo": "emacs-php/phpstan.el",
   "unstable": {
    "version": [
-    20201122,
-    950
+    20210617,
+    2223
    ],
    "deps": [
     "phpstan"
    ],
-   "commit": "6863a5278fc656cddb604b0c6e165f05d0171d0a",
-   "sha256": "05q1y6xshh5csr672jwplp2xmp87gvj9rc65ybpa687dkdmq8cdh"
+   "commit": "56617fa87c9bec037d4e4a0a143b7d70a989c082",
+   "sha256": "02k4pmmxq3h8mi0dsjh0s0002gjkpg6g9pxsnxgalwb6rakfirbh"
   },
   "stable": {
    "version": [
@@ -38116,14 +38216,11 @@
   "repo": "manuel-uberti/flymake-proselint",
   "unstable": {
    "version": [
-    20200927,
-    640
-   ],
-   "deps": [
-    "flymake-quickdef"
+    20210621,
+    929
    ],
-   "commit": "b94950301139846002d2020bc630440ff834bf24",
-   "sha256": "1zlbw4mj0l9p72gw03jrqmaakh7550ha02r3rmxrlqs6gjzqsd1f"
+   "commit": "adf1ce7daf1380cb50f365a36548165fe4a32423",
+   "sha256": "1mmwq4b4idhbsygwjmn3fj67idixx4gaap9zfa0v4didahjsjsjh"
   }
  },
  {
@@ -38242,24 +38339,6 @@
   }
  },
  {
-  "ename": "flymake-rust",
-  "commit": "7fabdb05de9b8ec18a3a566f99688b50443b6b44",
-  "sha256": "0fgpkz1d4y2ywizwwrhqdqncdmhdnbgf3mcv3hjpa82x44yb7j32",
-  "fetcher": "github",
-  "repo": "jxs/flymake-rust",
-  "unstable": {
-   "version": [
-    20170729,
-    2139
-   ],
-   "deps": [
-    "flymake-easy"
-   ],
-   "commit": "2f42d1f2dad73ec9de460eda6176e3ab25c446f0",
-   "sha256": "02fgkv9hxwrv8n5h6izb5jyjcpazlf86pjjj4zkv1ycpa6gyzzwn"
-  }
- },
- {
   "ename": "flymake-sass",
   "commit": "cae2ac3513e371a256be0f1a7468e38e686c2487",
   "sha256": "0sz6n5r9pdphgvvaljg9zdwj3dqayaxzxmb4s8x4b05c8yx3ba0d",
@@ -38964,8 +39043,8 @@
     20191004,
     1850
    ],
-   "commit": "246120647e28a27506ca0894ba98e371086881fd",
-   "sha256": "15gqzj4h0w33w38i8ihl74iy7aqxlds97gm93r72z69pm2l1d7dm"
+   "commit": "8a3b529d5ece261a8847298ea03ed35615cc9bfa",
+   "sha256": "16zalqjd2llwkp7v0218crgf3k34py8zx6lj6z7i3kbmxm9nb27q"
   }
  },
  {
@@ -39042,8 +39121,8 @@
   "repo": "magit/forge",
   "unstable": {
    "version": [
-    20210525,
-    1345
+    20210628,
+    736
    ],
    "deps": [
     "closql",
@@ -39053,16 +39132,17 @@
     "let-alist",
     "magit",
     "markdown-mode",
-    "transient"
+    "transient",
+    "yaml"
    ],
-   "commit": "551e51511e25505d14e05699a1707fd57e394a9a",
-   "sha256": "139pndj9l9aifnvv2ak5zwf5gzwhp3m6dfpw1avf4vkh1zywzwa0"
+   "commit": "84ef3a7bad5879a2dd179a94655ac0da28be3898",
+   "sha256": "0mp1jwc0ms6d15l3vw0zg35l68q58bk5bj8w5znjvwjh3akybfpm"
   },
   "stable": {
    "version": [
     0,
     2,
-    0
+    1
    ],
    "deps": [
     "closql",
@@ -39074,8 +39154,8 @@
     "markdown-mode",
     "transient"
    ],
-   "commit": "551e51511e25505d14e05699a1707fd57e394a9a",
-   "sha256": "139pndj9l9aifnvv2ak5zwf5gzwhp3m6dfpw1avf4vkh1zywzwa0"
+   "commit": "e7d0d759440492549db331f3c39c3cc62880118f",
+   "sha256": "0j28vc0q1h36pk0y2nidnlsc2y7n0vpfrd8civiv1zp8z0jwfyc9"
   }
  },
  {
@@ -39110,15 +39190,15 @@
   "repo": "lassik/emacs-format-all-the-code",
   "unstable": {
    "version": [
-    20210604,
-    1107
+    20210619,
+    533
    ],
    "deps": [
     "inheritenv",
     "language-id"
    ],
-   "commit": "82f68e5d1f0641d7a050db02ab2c0a7d3888f358",
-   "sha256": "0761qmkza4sbl1k0vj4q18zm9p148h7131dq46wwajyxbmrxlxja"
+   "commit": "6a3463a723e08a37bae85a7585700ab314ae86ea",
+   "sha256": "10aa5jh4ba4bhghwb8mi6my1dazbvxlylk3gcxji47qj0z78fajh"
   },
   "stable": {
    "version": [
@@ -39255,26 +39335,26 @@
   "repo": "rnkn/fountain-mode",
   "unstable": {
    "version": [
-    20210523,
-    1327
+    20210611,
+    1228
    ],
    "deps": [
     "seq"
    ],
-   "commit": "77f3ce6b646868210f91b6a80fcaaa77297ed341",
-   "sha256": "1f0mzrn237kv2p5bz58km4b7a46shzm1v7n4a6ksyfd3n7cqas85"
+   "commit": "91f4ad083fa620e6e6202460decc3280bd8e4e71",
+   "sha256": "0xlg5b0sa4qbv68sza23fr5khv36860jbhzfbcqcw1d420xllryx"
   },
   "stable": {
    "version": [
     3,
-    4,
-    1
+    5,
+    0
    ],
    "deps": [
     "seq"
    ],
-   "commit": "707b8fdc9a0e1de1a911ca312c23c0c1672f3ec3",
-   "sha256": "14zhbcfqyp093kd1bxl7f2hf5l5995qmgpmnxfgw9qcc781crj73"
+   "commit": "91f4ad083fa620e6e6202460decc3280bd8e4e71",
+   "sha256": "0xlg5b0sa4qbv68sza23fr5khv36860jbhzfbcqcw1d420xllryx"
   }
  },
  {
@@ -40214,11 +40294,11 @@
   "repo": "bling/fzf.el",
   "unstable": {
    "version": [
-    20210508,
-    1516
+    20210619,
+    1421
    ],
-   "commit": "23c09c9c0417c7de67a8965d9b506d0cc7aea7a2",
-   "sha256": "0c4cz1kyanqswz5ww8aql96hqxg8p8lwwwygw061rq2ycmkl54nk"
+   "commit": "c975001725e4b7f58dd9379a64c170f07734af59",
+   "sha256": "01d303vbn7vvhl1g1wpmpy90h5vaj3yimzgmhnmswc2qc2s3cnhq"
   },
   "stable": {
    "version": [
@@ -40271,11 +40351,11 @@
   "repo": "ShiroTakeda/gams-mode",
   "unstable": {
    "version": [
-    20210227,
-    251
+    20210701,
+    36
    ],
-   "commit": "52e984d64c48f518222e0f6bd326236f78d7bf7a",
-   "sha256": "0fjdm2mlwibi6cz0r7cm4ylxzg7i8fljkwfhflb84xqcaknwr2sk"
+   "commit": "64e3544726b77f10becb58a51d61993fbba433af",
+   "sha256": "1sn893lnqfr13p1m2g36i6f0ikpibhp7q7ak5271fhpzjzh0fi1r"
   },
   "stable": {
    "version": [
@@ -40760,14 +40840,14 @@
   "repo": "emacs-geiser/stklos",
   "unstable": {
    "version": [
-    20210503,
-    944
+    20210626,
+    1440
    ],
    "deps": [
     "geiser"
    ],
-   "commit": "0e3a0570354c03c0cfa25da82fb34ad2e81c1981",
-   "sha256": "1g31cibl88g1vjfvw4z80ywxpnxy5lijhs754qdcnx36maragh07"
+   "commit": "be482a03225720d7adb003c28e4515f6252e7ce2",
+   "sha256": "1dyzpr9i5pxi2p2hg3ndryh7x4y0r9bra88pd1l904vdfsxdxv5z"
   },
   "stable": {
    "version": [
@@ -40789,11 +40869,11 @@
   "url": "https://git.carcosa.net/jmcbray/gemini.el.git",
   "unstable": {
    "version": [
-    20210226,
-    1419
+    20210611,
+    1833
    ],
-   "commit": "0a227125a4112266c06ed7247de039090314b525",
-   "sha256": "0fiix0ssaannim5kxpckhd5z6fssij3igv1dg9y7143dzxf274zz"
+   "commit": "97e096ab2400bbe3c0f6d19fb49bd952f2f14e03",
+   "sha256": "1l092mhpv8dg00ln4yv040kmha7556klm5bqfdvc9ysjnfiwprkd"
   },
   "stable": {
    "version": [
@@ -40938,8 +41018,8 @@
   "repo": "thisch/gerrit.el",
   "unstable": {
    "version": [
-    20210530,
-    402
+    20210620,
+    334
    ],
    "deps": [
     "dash",
@@ -40947,8 +41027,8 @@
     "magit",
     "s"
    ],
-   "commit": "f1bdc47ab2bb29c2a0a385aaa9a5f0f6d543ffb5",
-   "sha256": "1qcw5kzcw9g41hqg0gnq3k6i4ygfgrlghadmfzdnf7dbk93ngl4g"
+   "commit": "ac555ccec74c48297bac0944a207e5b8aceac49e",
+   "sha256": "053gn6ja80810y4a2dayz3xy1bmzb7w06lvf87difa0nhm3mr54g"
   }
  },
  {
@@ -41206,15 +41286,15 @@
   "repo": "magit/ghub",
   "unstable": {
    "version": [
-    20210531,
-    2006
+    20210619,
+    1405
    ],
    "deps": [
     "let-alist",
     "treepy"
    ],
-   "commit": "e9a819c9c997b8e752eeb4a3fcd1a7b55ab8da47",
-   "sha256": "1c92q4hrax9gfrw35qi3slr7man006v5vqzp6hi2an5haw2cz4x2"
+   "commit": "865424d4faf66048bfb3752856ac0cf68e1c6efe",
+   "sha256": "0kqjxwkm3n6r9zg6pi015g9ix4pyz7b2rngcmmrindcjb5h292a4"
   },
   "stable": {
    "version": [
@@ -41272,8 +41352,8 @@
     20210401,
     656
    ],
-   "commit": "fa81e915c256271fa10b807a2935d5eaa4700dff",
-   "sha256": "1yf6yipvhhna29mzaan5vb3d5qvbrkp2awr5diyf381mvxgk8akh"
+   "commit": "8ab9c88a2b8cccd3c092e155f84b1b19930d0719",
+   "sha256": "1jiglrlhrph57p5kkm1qlqihwl6z7h9qh16qmmd5783ynksnbxp3"
   },
   "stable": {
    "version": [
@@ -41572,16 +41652,16 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20210525,
-    844
+    20210701,
+    1554
    ],
    "deps": [
     "dash",
     "transient",
     "with-editor"
    ],
-   "commit": "4a8646a30df99bbafc95d4f21a0b2bf0a6f6566f",
-   "sha256": "0y3wzvyaxn5zybjak77r1cngaqqm462s3d4f1cwmzvrnpv99f3r9"
+   "commit": "2ae376e4923e02355828350b81cdc1b0f8fa72ff",
+   "sha256": "1h07rg0fvr7av69bcks1n63digafq145mlsaddyv6xixxqjp0vbg"
   },
   "stable": {
    "version": [
@@ -43004,11 +43084,11 @@
   "repo": "emacsorphanage/gnuplot",
   "unstable": {
    "version": [
-    20210526,
-    1848
+    20210609,
+    834
    ],
-   "commit": "07a80272b86c081b40602ec0b080571f3269749d",
-   "sha256": "1d50b5vwnzca16g7hs2i0357lx9x5rvivdb5hdi0ngf6sb8d1afk"
+   "commit": "7138b139d2dca9683f1a81325c643b2744aa1ea3",
+   "sha256": "1v30avyx5klccpxqi85l5467dbc2v7s1jk5xv7rzvhg27azr4jm2"
   },
   "stable": {
    "version": [
@@ -43574,14 +43654,14 @@
   "repo": "emacsorphanage/go-impl",
   "unstable": {
    "version": [
-    20170125,
-    1552
+    20210621,
+    743
    ],
    "deps": [
     "go-mode"
    ],
-   "commit": "69f0d0ef05771487e15abec500cd06befd171abf",
-   "sha256": "1rmik6g3l9q1bqavmqx1fhcadz4pwswgfnkbaxl6c5b6g2sl26iq"
+   "commit": "1eebba6ccd02d11a5a82ad4540a8d562797bc3b3",
+   "sha256": "1i48vawn2a76bdbvv02mw7c5ny7g8dxk6b6xw2y9z0iijmbr0dzl"
   },
   "stable": {
    "version": [
@@ -44081,20 +44161,20 @@
   "repo": "io12/good-scroll.el",
   "unstable": {
    "version": [
-    20210607,
-    339
+    20210613,
+    206
    ],
-   "commit": "b4233500bbbdb64758283ba8a4b7cef5a85181a2",
-   "sha256": "05k03bycwpgs9wf9rh4rxfp38lhzr46c8zpvkd5qr6zwb1nnvr00"
+   "commit": "26a1b958bbf2c45d86f033e58b74edd196302f23",
+   "sha256": "0g4fzji614aqy3kw9iivlmw5v8igql0lkrzvgffrd01jn57dzlwp"
   },
   "stable": {
    "version": [
     1,
     1,
-    1
+    4
    ],
-   "commit": "61aa3b57d572e6a46a1415b66dbc4b80c33bfb73",
-   "sha256": "0zprygv94rp1hdq7qxcmp3ns04j6l28y9w5hp087mhfbr1v5y54m"
+   "commit": "4ca86e18c8f64fd7a2d088a591ac11773d6b06a7",
+   "sha256": "0bq229nnwp8cy33gizp75wi3x11wn46p73v1581srm2f1zmkapsj"
   }
  },
  {
@@ -44483,8 +44563,8 @@
     "magit-popup",
     "s"
    ],
-   "commit": "da0ae769e70e1af16865c3fadb25e9132d089dc6",
-   "sha256": "09kdlz6h31yasi1rv7759m40zb12vj6llv70pqh9swrpii2nmdzp"
+   "commit": "93851bd6e14df055d86661de494119e6bacb2192",
+   "sha256": "0bb5zbyr0xsf4p3440n5x2f3h10ya76vwr3jq10j0ff0x4fxs6iy"
   },
   "stable": {
    "version": [
@@ -45098,11 +45178,11 @@
   "repo": "ZungBang/emacs-grep-a-lot",
   "unstable": {
    "version": [
-    20131006,
-    1347
+    20210618,
+    1420
    ],
-   "commit": "9f9f645b9e308a0d887b66864ff97d0fca1ba4ad",
-   "sha256": "1f8262mrlinzgnn4m49hbj1hm3c1mvzza24py4b37sasn49546lw"
+   "commit": "223819dbea049bdeb5f97f9849fce139a5f16a75",
+   "sha256": "06rrbwb5ms2m3mhsg1l4hqnn7x379019kkdfm8gys5kxv4mfp22l"
   }
  },
  {
@@ -45128,20 +45208,20 @@
   "repo": "seagle0128/grip-mode",
   "unstable": {
    "version": [
-    20210515,
-    1548
+    20210609,
+    1305
    ],
-   "commit": "02b7a8109fa1ae248e61c91da3bd8676f8d2e175",
-   "sha256": "0rd8nasnlc01wb4lkzpk3xrwj9lx2n4gsq7h4nc0irnbfy8phy1s"
+   "commit": "0ef2a3566f76e1c03ec64ac64cbb916530e40e32",
+   "sha256": "1p15b41bdzg8819hnq6js62486mwdqcwxns5mnqb21bn6m7pizpm"
   },
   "stable": {
    "version": [
     2,
-    2,
-    1
+    3,
+    0
    ],
-   "commit": "9615c4774727a719d38313a679d70f2a2c6aca68",
-   "sha256": "01imyi1l33ng78m6c5g4pma5gy4j7jy7dwmqwsqgwbws08qdbwgr"
+   "commit": "0ef2a3566f76e1c03ec64ac64cbb916530e40e32",
+   "sha256": "1p15b41bdzg8819hnq6js62486mwdqcwxns5mnqb21bn6m7pizpm"
   }
  },
  {
@@ -45264,11 +45344,11 @@
   "repo": "ROCKTAKEY/grugru",
   "unstable": {
    "version": [
-    20210127,
-    432
+    20210617,
+    1028
    ],
-   "commit": "4ac2bf3877e3af7d23ace3165b9c8ed536ff4832",
-   "sha256": "05nw45hgbygfvbymghsp425474d4nrgl8pjii8jwd1ym155bf13k"
+   "commit": "b1d873cb6186e08c6f7ec782df989b01e955fb4d",
+   "sha256": "1rsixglxvc5a25v1pbyz23bngql84nvjn8673lmkhdcqcvd3s1hg"
   },
   "stable": {
    "version": [
@@ -45494,14 +45574,14 @@
   "repo": "tmalsburg/guess-language.el",
   "unstable": {
    "version": [
-    20210308,
-    1514
+    20210623,
+    1505
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "7e511d23ee4315a79081c53596398c471572fb0f",
-   "sha256": "03bm6j8d1v5z1gz1chlpp7s3jzi0lnq6nqdw8r7z1ik5si59dvj5"
+   "commit": "e6b78ed2a36bf5debd3d07ffd99a5a8ca60609d6",
+   "sha256": "0g0vdz42s6hns249lfxcha7l7ihqpyay3n5iijziwrbrrhqi6rx6"
   }
  },
  {
@@ -45576,8 +45656,8 @@
   "repo": "alezost/guix.el",
   "unstable": {
    "version": [
-    20210224,
-    1601
+    20210608,
+    1653
    ],
    "deps": [
     "bui",
@@ -45586,8 +45666,8 @@
     "geiser",
     "magit-popup"
    ],
-   "commit": "8ce6d219e87c5097abff9ce6f1f5a4293cdfcb31",
-   "sha256": "0awbd8x154c4dk4av7inpgd63n07xzng84vvc8qckmgljknc0j7k"
+   "commit": "c9aef52121b458297e70bb50f49f7276b4a8d759",
+   "sha256": "00xdxadbi9fxpfp60zah9190rcz3w08vl1blbhmaiy7c1hd2gi39"
   },
   "stable": {
    "version": [
@@ -46201,11 +46281,11 @@
   "repo": "haskell/haskell-mode",
   "unstable": {
    "version": [
-    20210507,
-    2243
+    20210622,
+    2049
    ],
-   "commit": "b35e8547b67f3d2c4d38ec7e7e516e3c0925352f",
-   "sha256": "1z6x28gv47vdi2a06p1w390a40ll1b1g2dhxhzpn998r6b1d8zxm"
+   "commit": "98ba3922360199d5260d47f417f096730ad057c5",
+   "sha256": "1k7zs7vlbpyhizv4ff1mhagz1mvazmm4bvq215z9f871hhf6l7ff"
   },
   "stable": {
    "version": [
@@ -46535,30 +46615,30 @@
   "repo": "emacs-helm/helm",
   "unstable": {
    "version": [
-    20210607,
-    1026
+    20210701,
+    637
    ],
    "deps": [
     "async",
     "helm-core",
     "popup"
    ],
-   "commit": "a92156303021e0ec91a904e16a994d8e1ccd78f7",
-   "sha256": "1lxmp0a7wk7wqb6qcy1zn9sr47vakgxzn0j8yyvdv1vps4hz9wk0"
+   "commit": "e74f450eaa4f197f1fa63a819193bc1c65984042",
+   "sha256": "1xl9wn520gnpyyryf7iij8y1x5ak61zcira6g480sqvv2ympmhkd"
   },
   "stable": {
    "version": [
     3,
-    7,
-    1
+    8,
+    0
    ],
    "deps": [
     "async",
     "helm-core",
     "popup"
    ],
-   "commit": "8b0b9953a71ba07c24fdfc4d26fab21fb66e4d1f",
-   "sha256": "0b8sfpvy02ijk9xi9b44762b718jqfq063wcg75dk3q452d27s1h"
+   "commit": "0714e27fe703a42fa52caf6daa0921d544a55402",
+   "sha256": "1xrpv0sqmlwn94bc31k2iav284i1hl95937541ihlkhqg6v2vwrv"
   }
  },
  {
@@ -47443,26 +47523,26 @@
   "repo": "emacs-helm/helm",
   "unstable": {
    "version": [
-    20210606,
-    1857
+    20210701,
+    608
    ],
    "deps": [
     "async"
    ],
-   "commit": "a92156303021e0ec91a904e16a994d8e1ccd78f7",
-   "sha256": "1lxmp0a7wk7wqb6qcy1zn9sr47vakgxzn0j8yyvdv1vps4hz9wk0"
+   "commit": "e74f450eaa4f197f1fa63a819193bc1c65984042",
+   "sha256": "1xl9wn520gnpyyryf7iij8y1x5ak61zcira6g480sqvv2ympmhkd"
   },
   "stable": {
    "version": [
     3,
-    7,
-    1
+    8,
+    0
    ],
    "deps": [
     "async"
    ],
-   "commit": "8b0b9953a71ba07c24fdfc4d26fab21fb66e4d1f",
-   "sha256": "0b8sfpvy02ijk9xi9b44762b718jqfq063wcg75dk3q452d27s1h"
+   "commit": "0714e27fe703a42fa52caf6daa0921d544a55402",
+   "sha256": "1xrpv0sqmlwn94bc31k2iav284i1hl95937541ihlkhqg6v2vwrv"
   }
  },
  {
@@ -49523,8 +49603,8 @@
   "repo": "alphapapa/org-ql",
   "unstable": {
    "version": [
-    20201123,
-    1102
+    20210608,
+    1556
    ],
    "deps": [
     "dash",
@@ -49532,16 +49612,17 @@
     "org-ql",
     "s"
    ],
-   "commit": "208e103ecc146db71d878df3bd09c6eb60c2797d",
-   "sha256": "09vdndp3935iy4flynbjpkvfax7vs1ppswl19wx4nn2rp7hdz8kp"
+   "commit": "8342656b2d9af4bb6af9daa0a8b037d3693bd940",
+   "sha256": "0alrs2dsd5k4xjrs2zs7hcr5fbfrr3rdq705s04943ic4kzvhrc9"
   },
   "stable": {
    "version": [
     0,
-    5
+    5,
+    2
    ],
-   "commit": "3924b023e0f1e8fa93cfa79bdd71f9f0c0fb4679",
-   "sha256": "14nsy2dbln3m5bpqzyfqycn18sb3qh407hjbkk1l0x2nqs3lrkqn"
+   "commit": "d3b0ef2f5194452d88bf23ec31ebfef822c47c24",
+   "sha256": "0b3xxnbhnrz0263fnrrdbs3gif4pjkfws4mxkfqqpg0fc8azp2rx"
   }
  },
  {
@@ -50284,8 +50365,8 @@
     "helm",
     "rtags"
    ],
-   "commit": "63f18acb21e664fd92fbc19465f0b5df085b5e93",
-   "sha256": "0wzyn9qzyly71yfwhlk5m94ygjnbk459pgbpgkhp9fqgchx12p1r"
+   "commit": "65113e2a137baa9f85dc2157b893291470788dc4",
+   "sha256": "1qc4hy6r2sz59nb28xrrqiad91xbmsrr9jzhi4k915qgds6m029h"
   },
   "stable": {
    "version": [
@@ -50795,15 +50876,15 @@
   "repo": "emacs-helm/helm-system-packages",
   "unstable": {
    "version": [
-    20201114,
-    1019
+    20210628,
+    1727
    ],
    "deps": [
     "helm",
     "seq"
    ],
-   "commit": "c331c69de0a37d2bc4d6f882cc021a905e7e56f9",
-   "sha256": "13a8jpj4wwm0yjv8hnsizgjf8wi3r2ap87lyvw7g4c7snp2dydwa"
+   "commit": "a16bb1c3708416984106a98353700d456414b6a1",
+   "sha256": "09acgs1mjkqmm7n88x4hck2bp3jv5fifdkd406r8fh874vyfib38"
   },
   "stable": {
    "version": [
@@ -51560,11 +51641,11 @@
   "repo": "emacsmirror/highlight",
   "unstable": {
    "version": [
-    20190710,
-    1527
+    20210318,
+    2248
    ],
-   "commit": "9258a2b8362d737115cbd87618f947eadb140411",
-   "sha256": "0pbqzgbfkm8smi23j94hirxh2r1yc0ipyjbbv1y906br6bx5c1a8"
+   "commit": "28557cb8d99b96eb509aaec1334c7cdda162517f",
+   "sha256": "1klrc2w0wg9ajm973b7blkjcwscqni6nxaqkcmimava398lxss2l"
   }
  },
  {
@@ -51800,10 +51881,10 @@
    "version": [
     2,
     0,
-    2
+    3
    ],
-   "commit": "fdabfda5f6300f8dd4d2a62c49359605798cc001",
-   "sha256": "0x833ahd5m4rlqrgr7n5xj477vbs7mmp267in22hw0cxi9aan08q"
+   "commit": "891538de31524956136e1419e1206af0c8befe02",
+   "sha256": "08l5gb73ibs1mmfifnks5gxrcg8x8azw9g10jj2f8vn8viwwa7m0"
   }
  },
  {
@@ -52153,11 +52234,11 @@
   "repo": "ideasman42/emacs-hl-block-mode",
   "unstable": {
    "version": [
-    20210320,
-    1051
+    20210617,
+    1324
    ],
-   "commit": "717b4f743c633362a8b28c883c454c5ef3711722",
-   "sha256": "16b1hnxzfygn3pgck5d8m612iwn42bxsx0zhdqrzmjl9sjvvps4h"
+   "commit": "0ea43d320219ba4e6b7b1be36a5c1533ac3edb42",
+   "sha256": "1hg18rm7lqs45gvv1rb5d3vqh6g9nmyf2wd2sichl06a2cn48n16"
   }
  },
  {
@@ -52204,11 +52285,11 @@
   "repo": "ideasman42/emacs-hl-prog-extra",
   "unstable": {
    "version": [
-    20210422,
-    56
+    20210629,
+    602
    ],
-   "commit": "42dee82058e49a7eae5490af2b6b4147600e87ed",
-   "sha256": "1csvhvjzhq1w9384i9n78qv8x0c2y8mdqig6fa2k5qi84cgsh8zp"
+   "commit": "c251d0cd354565b859ddf7c61bdae32649c6a0f4",
+   "sha256": "0a8dkay7d31h2k4vsapwigf62wl77yk4r0wa86ly4p6vghbczj3w"
   }
  },
  {
@@ -52241,11 +52322,11 @@
   "repo": "tarsius/hl-todo",
   "unstable": {
    "version": [
-    20210504,
-    1406
+    20210615,
+    1505
    ],
-   "commit": "57378bd4511887a815725a7850e1ff2c6e9fda16",
-   "sha256": "0bdwdp8d0g7n0kv6l4h7alya3z6fsfi618dzw5x8f2az3r87yg8y"
+   "commit": "5ac0076cfeaea57f7c7a59d9d41a34c1bdc4b22e",
+   "sha256": "1h3h62rglgwir3jfy6wq9hkwlx6z28cs9dz8jv8xgpk1jsj89whw"
   },
   "stable": {
    "version": [
@@ -53137,11 +53218,11 @@
   "repo": "Riyyi/emacs-hybrid-reverse",
   "unstable": {
    "version": [
-    20210527,
-    2324
+    20210630,
+    1155
    ],
-   "commit": "4cad8a17f6c9d98a628d78fe358d589b03172b57",
-   "sha256": "0xwl0fycygzwsrv4vrph6q6hy0550j3z1ir9ahfc7fjl091k192x"
+   "commit": "e59c8392938235ca8d95306aa1c3f1591a43fb45",
+   "sha256": "0vrdd4w9v07g6092sva8br0n3dlf1n9gj8y56k13a1wn9hwi2wp3"
   }
  },
  {
@@ -53614,27 +53695,27 @@
   "repo": "plandes/icsql",
   "unstable": {
    "version": [
-    20210605,
-    1658
+    20210612,
+    1340
    ],
    "deps": [
     "buffer-manage",
     "choice-program"
    ],
-   "commit": "bc7c5f27f9d804613759a1d1357166f9ccecbe0e",
-   "sha256": "1g3wy9jjlag4ma610kdqnb0f2sy1032m5q419ankh5fv0gfxlwbl"
+   "commit": "4521e9d2debef7687bfd26a664479f0c46688a36",
+   "sha256": "0s65kilx1jrjhm80sc4fj3x0mr3x4m3vjllm6qxj8ml8sh3pkai3"
   },
   "stable": {
    "version": [
     0,
-    7
+    8
    ],
    "deps": [
     "buffer-manage",
     "choice-program"
    ],
-   "commit": "bc7c5f27f9d804613759a1d1357166f9ccecbe0e",
-   "sha256": "1g3wy9jjlag4ma610kdqnb0f2sy1032m5q419ankh5fv0gfxlwbl"
+   "commit": "4521e9d2debef7687bfd26a664479f0c46688a36",
+   "sha256": "0s65kilx1jrjhm80sc4fj3x0mr3x4m3vjllm6qxj8ml8sh3pkai3"
   }
  },
  {
@@ -54150,15 +54231,15 @@
   "repo": "idris-hackers/idris-mode",
   "unstable": {
    "version": [
-    20210223,
-    850
+    20210614,
+    1212
    ],
    "deps": [
     "cl-lib",
     "prop-menu"
    ],
-   "commit": "80aabd2566082aa67d17eccdd80e9f1fb10c9ec8",
-   "sha256": "1cmmasfmgnzhixhczigz1c2jzhr9yj4v6mwvgxs99vbg2k3p9rcq"
+   "commit": "f52ad0b4770403561b40f1d0499ecaca70da886c",
+   "sha256": "1ai5ha67650ryj7mdxx6b86hlm2v13h7kipisgvxj5dss3j9j7lv"
   },
   "stable": {
    "version": [
@@ -54196,11 +54277,11 @@
   "repo": "victorhge/iedit",
   "unstable": {
    "version": [
-    20210606,
-    1026
+    20210612,
+    546
    ],
-   "commit": "94650d77719a554cdcebfc6e26a731de87e14483",
-   "sha256": "029z9j3anb948mbmh6ai8asxgfim8193ymm41c7crqzga9p4ivc7"
+   "commit": "3247f3029a4e309c71a5b066fa4299d4cbb79fbc",
+   "sha256": "1w6apgfs4zgcqpcn3qgf0ncx46m6sz7vr4ln00s626ll0c4lhnys"
   },
   "stable": {
    "version": [
@@ -54403,11 +54484,11 @@
   "repo": "tarsius/imake",
   "unstable": {
    "version": [
-    20200103,
-    1238
+    20210615,
+    1506
    ],
-   "commit": "100d62c7095743fadddfad5b9e0740ee386ba4cf",
-   "sha256": "0wpfl74v7xnvsk3ribxkfyy4p5p9j2wskrcf0naavqpgm6fc6jvr"
+   "commit": "b61b1582abe8f7a389883f48b7e5243abb010a69",
+   "sha256": "19nbas7kpbxksd0vqbvf8awzpnrmy97yxd616kcxcp86qk34mlwr"
   },
   "stable": {
    "version": [
@@ -54910,16 +54991,16 @@
   "repo": "emacs-stuff/indent-tools",
   "unstable": {
    "version": [
-    20190606,
-    1642
+    20210622,
+    1207
    ],
    "deps": [
     "hydra",
     "s",
     "yafolding"
    ],
-   "commit": "c419874e6fb296ecdba94b2f4b73c9eecdd5329d",
-   "sha256": "1dwhn9ssirr7i08rfd97mih629cxc9jwnvncb74dxdbgn1bi2b9k"
+   "commit": "c731f05fa3950e2e8580ec61b88abbc705639830",
+   "sha256": "0jri2vxd5a4sx93xq6kjcc5zx9yrhv789x3lyq6r2p2422diw2jr"
   }
  },
  {
@@ -55077,11 +55158,11 @@
   "repo": "J3RN/inf-elixir",
   "unstable": {
    "version": [
-    20210315,
-    1723
+    20210629,
+    40
    ],
-   "commit": "b526ce852886d1863163e054fcbbcbb83c55b32a",
-   "sha256": "1kmv2j1g299wb8dqq43zk61jigkfl9rnqxbfnclzsqfdlnhvw6ii"
+   "commit": "ec87ecaab5a10e79034f77d553e7fefbf60b9f97",
+   "sha256": "1p6r0iwqcaf9bp123ccwafmzlf8hgwvap0cqwgy33cks6bhcbzb9"
   },
   "stable": {
    "version": [
@@ -55578,17 +55659,17 @@
  },
  {
   "ename": "insert-kaomoji",
-  "commit": "216fcef758036cf466fa5b52599394709eed48b3",
-  "sha256": "1ip61cigz6b6hsj8ahgb6fxf7yab24r0rjjl11i10ykq7sb49k00",
+  "commit": "982788433004ba644a372c50130613e3c56bba10",
+  "sha256": "0yaz5fsnxdrnv16sns8hgvf07fmfz8p8969619ywv844kv3p16q7",
   "fetcher": "git",
-  "url": "https://git.sr.ht/~zge/kaomoji",
+  "url": "https://git.sr.ht/~pkal/insert-kaomoji",
   "unstable": {
    "version": [
-    20200325,
-    2248
+    20210618,
+    2249
    ],
-   "commit": "d18423f78cc02ba866b1a1dfb0617476cd941c54",
-   "sha256": "0n6fjndwcp2qg8164420dlc3xsdzm6m0zwbvvwn5w03khbk788hr"
+   "commit": "25b74d527cef00f6a49985161a8caaf62faa887c",
+   "sha256": "1qqxw67fbpix290jjrfai6z33fsyzb3zy1nwzk6mjss151586f5n"
   },
   "stable": {
    "version": [
@@ -56862,15 +56943,15 @@
   "repo": "tumashu/ivy-posframe",
   "unstable": {
    "version": [
-    20210426,
-    2144
+    20210609,
+    1053
    ],
    "deps": [
     "ivy",
     "posframe"
    ],
-   "commit": "084cc59ea2cd62afaa51445ada3d00404749a541",
-   "sha256": "170z5akdwxzrn0b4cbk6v8a3dqz229b7pj9n0534y1a7ydvcyv9h"
+   "commit": "9c8382823392d5e64fb4879055e43ab4a029e62a",
+   "sha256": "1dqbgi12rd79jkrbyd59lrx9b5wi5a0k2xmf927c4mcqjfbvih2w"
   },
   "stable": {
    "version": [
@@ -56993,8 +57074,8 @@
     "ivy",
     "rtags"
    ],
-   "commit": "63f18acb21e664fd92fbc19465f0b5df085b5e93",
-   "sha256": "0wzyn9qzyly71yfwhlk5m94ygjnbk459pgbpgkhp9fqgchx12p1r"
+   "commit": "65113e2a137baa9f85dc2157b893291470788dc4",
+   "sha256": "1qc4hy6r2sz59nb28xrrqiad91xbmsrr9jzhi4k915qgds6m029h"
   },
   "stable": {
    "version": [
@@ -57060,8 +57141,8 @@
     "espotify",
     "ivy"
    ],
-   "commit": "3d62a3319ab03a810030058d3fb368b28dfd82d5",
-   "sha256": "0hj3nczmqmgiwsvh664rs34j63wl325x6nar21p1a84h5ximpkxq"
+   "commit": "5bf63dacc5df8a74860e80dabd16afce68a24a36",
+   "sha256": "1vxg86wv6f96bva0d1xxhisk525chwhdl4nq77xhriflq65mcmi3"
   }
  },
  {
@@ -57858,11 +57939,11 @@
   "repo": "rymndhng/jest-test-mode",
   "unstable": {
    "version": [
-    20210228,
-    132
+    20210615,
+    41
    ],
-   "commit": "fb2bacab9475410c79e6e4ca344f093f7698466d",
-   "sha256": "0m3p75659krzcyc54ri0x8bwr1zxhkrfmyz8z7z5mjpydb8qb1v8"
+   "commit": "d7660096e7d49f9b2ebc8924c0f5b39c5ffa8c86",
+   "sha256": "1sw1cgykq9i6wdjjlqlw6jrdxnic615k96lbqyir84fizn55qcja"
   }
  },
  {
@@ -58412,14 +58493,14 @@
   "repo": "mooz/js2-mode",
   "unstable": {
    "version": [
-    20210414,
-    2241
+    20210622,
+    102
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "b891edecedf30be6321e2f109fdfeb25b0edad27",
-   "sha256": "179vkwr57nibc148b961g1aim052v65qsva44imxibkm9h0n32w9"
+   "commit": "4eaf98e3cc3789381a37a05cd70a248db9ac8c1b",
+   "sha256": "0mlp1pbph3790lvg5j6cdaffhb9ly8jdl00lmffs14840b8prkf3"
   },
   "stable": {
    "version": [
@@ -58484,8 +58565,8 @@
    "deps": [
     "js2-mode"
    ],
-   "commit": "d970dd53dec76f9f72ade5b1f8717dea3d45bb3c",
-   "sha256": "0i46frhgmkw6qga1mki9bsrm6zncyca9fr81n1sadmgwfl1rxl28"
+   "commit": "ab01c290860ab0d8f43afcf1f7466fdced24e123",
+   "sha256": "12g1yah3k0k0p6nlrq8j9iq5l59zalknix60s1zj24bssac5y0zj"
   },
   "stable": {
    "version": [
@@ -58777,14 +58858,14 @@
   "repo": "tminor/jsonnet-mode",
   "unstable": {
    "version": [
-    20210527,
-    1557
+    20210627,
+    1451
    ],
    "deps": [
     "dash"
    ],
-   "commit": "54a89b0aaba7a68782008c5e1ab00d5ec757316a",
-   "sha256": "14nxfa91yg2243v4d5kvynp2645x3811ispmhmpgil3x9qbl9jg9"
+   "commit": "404ebe3ca964fde99b7a6d89d2840ce53376d80a",
+   "sha256": "1ddkljjmvbm35gdw6wnys2na19826wxxgydlikn52nvchvr5z5z9"
   },
   "stable": {
    "version": [
@@ -58820,10 +58901,10 @@
  },
  {
   "ename": "jst",
-  "commit": "3416586d4d782cdd61a56159c5f80a0ca9b3ddf4",
-  "sha256": "1kxf8ckhsh0sgc4xqkkyh7ghk17farqqz35ibvmyrkl9s19ydj1q",
+  "commit": "93d46615545045ea2a9456b8a28016ec933e43d4",
+  "sha256": "0zl20xy33cz1k0lcm2ymk0bi0w7ayndq0xqrw42fvd7gm1plbsd4",
   "fetcher": "github",
-  "repo": "zhangkaiyulw/jst-mode",
+  "repo": "victorteokw/jst-mode",
   "unstable": {
    "version": [
     20150604,
@@ -58933,8 +59014,8 @@
   "repo": "gcv/julia-snail",
   "unstable": {
    "version": [
-    20210330,
-    1901
+    20210624,
+    547
    ],
    "deps": [
     "dash",
@@ -58943,8 +59024,8 @@
     "spinner",
     "vterm"
    ],
-   "commit": "03b4296ba7151963eb3c850f3314b02644101f51",
-   "sha256": "1jgs0pz8bzqg8116kyw3z7jwbf6karrl89ks028q091ylc00nm8b"
+   "commit": "47f1b125f8364a0aa8c072fdc7b4007aad5c0724",
+   "sha256": "12lqc5yysjzf0vypjcs2mnsv6frhwyfm950rcsbwkwz3lvfnrajn"
   },
   "stable": {
    "version": [
@@ -59216,26 +59297,26 @@
   "repo": "TxGVNN/emacs-k8s-mode",
   "unstable": {
    "version": [
-    20210414,
-    1543
+    20210618,
+    1540
    ],
    "deps": [
     "yaml-mode"
    ],
-   "commit": "14f08627d5bc320fee5bd9926e9aabe6956f514e",
-   "sha256": "1rfglmslhv3i71fgsqs8gjcnkff06lnp0b9s182rsnfz29dnzd1a"
+   "commit": "430e9d698f1411efe3f8f2bb4c8f8857e0321a8d",
+   "sha256": "0rpgsfxvbic7ni82cpqi7wya73ajbd2jfbjskklzlmhwn1j26a9v"
   },
   "stable": {
    "version": [
     0,
-    1,
+    2,
     0
    ],
    "deps": [
     "yaml-mode"
    ],
-   "commit": "9364cdbbae00055c4efa1eeb80503e0b0a215743",
-   "sha256": "1ap8nwlv9ha5a03gc10sva12sc6qzq1vig8hibg1igbsc1qmfkad"
+   "commit": "430e9d698f1411efe3f8f2bb4c8f8857e0321a8d",
+   "sha256": "0rpgsfxvbic7ni82cpqi7wya73ajbd2jfbjskklzlmhwn1j26a9v"
   }
  },
  {
@@ -59849,11 +59930,11 @@
   "repo": "tarsius/keycast",
   "unstable": {
    "version": [
-    20210521,
-    828
+    20210616,
+    826
    ],
-   "commit": "a12ef1fb480b56c34c92f48fc7f7aa8a1d7c4c4b",
-   "sha256": "0093v1c5nl2bh1lvccqq6fzpgjald3yypp87dsim982aywl2vlv1"
+   "commit": "04ba7519f34421c235bac458f0192c130f732f12",
+   "sha256": "09xr0h2ag3pzlz455gv5h915vn1dz56gqx61jx3n7fc4a794pqxw"
   },
   "stable": {
    "version": [
@@ -59920,14 +60001,14 @@
   "repo": "dacap/keyfreq",
   "unstable": {
    "version": [
-    20160516,
-    1416
+    20210630,
+    1318
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "e5fe9d585ce882f1ba9afa5d894eaa82c79be4f4",
-   "sha256": "12m1jy8m8i39b809qbxx9g3r066jxhqwfyf5mqbd1lzlaw63b1i7"
+   "commit": "7bb36e910ae04ff1dce387e3ce73b669d299680b",
+   "sha256": "188055yg9fqw92p1wip7mx7nz5gz5jbwb6lgcjncxzs4i9v7w8kr"
   },
   "stable": {
    "version": [
@@ -60316,8 +60397,8 @@
     20210318,
     2106
    ],
-   "commit": "3894a454ee03ede25e920759e6ac2df040ff3431",
-   "sha256": "1crqrmzxhm21psv5mkbzn3h2syrgszx50i4kd4n92f56dq7s8i4b"
+   "commit": "143ba31a0a5c23d8c1a8d6fb1972d94cc1d7f31c",
+   "sha256": "1daisqp687p0bpjk8mj7c3sxq9clwi25byzbk7yx8l15rcr1bhr5"
   },
   "stable": {
    "version": [
@@ -60527,10 +60608,10 @@
  },
  {
   "ename": "kroman",
-  "commit": "6440f81aed1fcddcaf7afeedb74520e605211986",
-  "sha256": "0rcy3343pmlqzqzhmz2c3r0b44pn8fsyp39mvn9nmdnaxsn6q3k8",
+  "commit": "ff990cb7ff2c10c3d6c97b820c9eaad7c4e86b11",
+  "sha256": "0vg7wrm7h36gnhhyjpk6k2sq5x1rilzaqhjrhyk508f5jfzylzqz",
   "fetcher": "github",
-  "repo": "zhangkaiyulw/kroman-el",
+  "repo": "victorteokw/kroman-el",
   "unstable": {
    "version": [
     20150827,
@@ -60601,8 +60682,8 @@
   "repo": "abrochard/kubel",
   "unstable": {
    "version": [
-    20210326,
-    2053
+    20210623,
+    1316
    ],
    "deps": [
     "dash",
@@ -60610,8 +60691,8 @@
     "transient",
     "yaml-mode"
    ],
-   "commit": "91d1c8e97e4168fc49548c3449b4a60568c96790",
-   "sha256": "16s6iy3igb40r29x4bpb2x9763pf1fg5cygfdgabjq8xq36slmg8"
+   "commit": "801d4cc78cb59b3c39e9ea53d7f16ec3c9a6bb6b",
+   "sha256": "120pyq6njxvhjwjrsbrclxj9g4qsi9awm9pmvvy74z3qzxjkj7bl"
   },
   "stable": {
    "version": [
@@ -60643,8 +60724,8 @@
     "evil",
     "kubel"
    ],
-   "commit": "91d1c8e97e4168fc49548c3449b4a60568c96790",
-   "sha256": "16s6iy3igb40r29x4bpb2x9763pf1fg5cygfdgabjq8xq36slmg8"
+   "commit": "801d4cc78cb59b3c39e9ea53d7f16ec3c9a6bb6b",
+   "sha256": "120pyq6njxvhjwjrsbrclxj9g4qsi9awm9pmvvy74z3qzxjkj7bl"
   },
   "stable": {
    "version": [
@@ -60661,27 +60742,27 @@
  },
  {
   "ename": "kubernetes",
-  "commit": "16850227ea48f6f38102b9cdf80e0758766a24d2",
-  "sha256": "06357a8y3rpvid03r9vhmjgq97hmiah5g8gff32dij9424vidil9",
+  "commit": "870901c45fb35384953568a972aa36ad445e1ad9",
+  "sha256": "07x770fcnjg0545bml3jqmd9d9l1bw8i8i4imznqhwx3acm8grzy",
   "fetcher": "github",
-  "repo": "chrisbarrett/kubernetes-el",
+  "repo": "kubernetes-el/kubernetes-el",
   "unstable": {
    "version": [
-    20210604,
-    909
+    20210630,
+    612
    ],
    "deps": [
     "dash",
     "magit",
     "magit-popup"
    ],
-   "commit": "93d7b4d1b079b3cf1fbe3949154b6a1bc06904ef",
-   "sha256": "0xz35j38ph1l870zrdd0r2xycxq65pbq1a1hi270q4mikpai85gb"
+   "commit": "d8034e6ddd668d2f7d34b6aa7bd19e2a575b609f",
+   "sha256": "1hp760wqwzflpnqrha1qnrbilr3qynd1dma00jyrhq76hdb83xwv"
   },
   "stable": {
    "version": [
     0,
-    13,
+    15,
     0
    ],
    "deps": [
@@ -60689,40 +60770,40 @@
     "magit",
     "magit-popup"
    ],
-   "commit": "8ae9dc2340620c7d8efb2347723b25bde5a6fba0",
-   "sha256": "0di3vcq8c8j8avjlic7bhvbq4p27cvzyklm26wiq4rga88vjhyb0"
+   "commit": "ea81874f0490cea310b09c57718aa0e5c83d578b",
+   "sha256": "13kra8y8laqk949phxwlw5q0lmv4yc9knql12srdys1hyvhczwx3"
   }
  },
  {
   "ename": "kubernetes-evil",
-  "commit": "16850227ea48f6f38102b9cdf80e0758766a24d2",
-  "sha256": "12ygfs6g9aivf2ws3lxwjm5xnd2kidhli889icpygd5v7gnk9pg8",
+  "commit": "870901c45fb35384953568a972aa36ad445e1ad9",
+  "sha256": "163idbancjbm8jj8bprhrg7lqypz3g3qkfz7mas0b40iw6ip220h",
   "fetcher": "github",
-  "repo": "chrisbarrett/kubernetes-el",
+  "repo": "kubernetes-el/kubernetes-el",
   "unstable": {
    "version": [
-    20191108,
-    615
+    20210628,
+    2003
    ],
    "deps": [
     "evil",
     "kubernetes"
    ],
-   "commit": "93d7b4d1b079b3cf1fbe3949154b6a1bc06904ef",
-   "sha256": "0xz35j38ph1l870zrdd0r2xycxq65pbq1a1hi270q4mikpai85gb"
+   "commit": "d8034e6ddd668d2f7d34b6aa7bd19e2a575b609f",
+   "sha256": "1hp760wqwzflpnqrha1qnrbilr3qynd1dma00jyrhq76hdb83xwv"
   },
   "stable": {
    "version": [
     0,
-    13,
+    15,
     0
    ],
    "deps": [
     "evil",
     "kubernetes"
    ],
-   "commit": "8ae9dc2340620c7d8efb2347723b25bde5a6fba0",
-   "sha256": "0di3vcq8c8j8avjlic7bhvbq4p27cvzyklm26wiq4rga88vjhyb0"
+   "commit": "ea81874f0490cea310b09c57718aa0e5c83d578b",
+   "sha256": "13kra8y8laqk949phxwlw5q0lmv4yc9knql12srdys1hyvhczwx3"
   }
  },
  {
@@ -60969,8 +61050,8 @@
     "highlight",
     "math-symbol-lists"
    ],
-   "commit": "63796ccadcc9147c5badd9a87f626611f63e3c4c",
-   "sha256": "1iwgi7jm20qwxlfa7klkz5zmdfxa14psly6xsl29i37j9p6146sb"
+   "commit": "56f808edfd0983c0df2ed1c957c50c02af5faad3",
+   "sha256": "05fyx88wmyc4c6lcy5qphg6zhbfmlnpy7y23l00qfi5k9hmv99hm"
   }
  },
  {
@@ -61095,25 +61176,25 @@
   "repo": "lassik/emacs-language-id",
   "unstable": {
    "version": [
-    20210411,
-    1332
+    20210618,
+    1532
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "30a5bc267af7de167d0a835ead828016e6e7e14c",
-   "sha256": "1wkppwh72zs8b4jqdxqpf3gikh11la03nkj8nna9bg7k8n0a4vaq"
+   "commit": "7db7ba27d2abf8891d40dc952c22d3a3654d9bbc",
+   "sha256": "11wzyv6jdprppjqygszl30hkxydjlhk7fdvda6h37k6dlk1fh1wp"
   },
   "stable": {
    "version": [
     0,
-    12
+    13
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "2c99ce29b86fc635649f4e89723912dc1cc4f36c",
-   "sha256": "12fzzdc4jns440gb71iydsicni646gciaxv50p0wrfk9mbppidck"
+   "commit": "7db7ba27d2abf8891d40dc952c22d3a3654d9bbc",
+   "sha256": "11wzyv6jdprppjqygszl30hkxydjlhk7fdvda6h37k6dlk1fh1wp"
   }
  },
  {
@@ -61124,26 +61205,26 @@
   "repo": "PillFall/Emacs-LanguageTool.el",
   "unstable": {
    "version": [
-    20201111,
-    515
+    20210621,
+    453
    ],
    "deps": [
     "request"
    ],
-   "commit": "531ab81bf66c778616a326b93d4eedd509dd795e",
-   "sha256": "03mrlwic3ws54573abc8wpq4apffnmq4ncqlwsvs4nhg14yl2s59"
+   "commit": "feea3f9271ce920490a0d9dcd11e669e3eaad1d0",
+   "sha256": "0vxq945x1yn86kpw7qbb686vb3pzyk7wma8g0dbval2m4hsbrn26"
   },
   "stable": {
    "version": [
     0,
-    3,
-    0
+    4,
+    2
    ],
    "deps": [
     "request"
    ],
-   "commit": "531ab81bf66c778616a326b93d4eedd509dd795e",
-   "sha256": "03mrlwic3ws54573abc8wpq4apffnmq4ncqlwsvs4nhg14yl2s59"
+   "commit": "feea3f9271ce920490a0d9dcd11e669e3eaad1d0",
+   "sha256": "0vxq945x1yn86kpw7qbb686vb3pzyk7wma8g0dbval2m4hsbrn26"
   }
  },
  {
@@ -61364,11 +61445,11 @@
   "repo": "pekingduck/launchctl-el",
   "unstable": {
    "version": [
-    20210309,
-    1113
+    20210611,
+    2243
    ],
-   "commit": "86cbb8980de4641b552a792389cc2cb9b2718ee4",
-   "sha256": "08prmsx6ski5j1pnzr7v3hxvbdrb5by8x2dihwhz0wjgfsqj13mr"
+   "commit": "c9b7e93f5ec6fa504dfb03d60571cf3e5dc38e12",
+   "sha256": "0hbhbyl4qbc9b7hmkjpwclyfh4xnl5j51j18793wrh28xqpbkf0s"
   }
  },
  {
@@ -61476,11 +61557,11 @@
   "repo": "conao3/leaf.el",
   "unstable": {
    "version": [
-    20210603,
-    1518
+    20210611,
+    1550
    ],
-   "commit": "af0d4d8daaa323c34502d3cbea85ec8f70b06c00",
-   "sha256": "0p4smpfld1ky07cy5qn8kqpbqw5ymrn8valkpx4c519lj6pb9rn6"
+   "commit": "a4fd520f5c31f54e0797155866e0b35df277664e",
+   "sha256": "0xy1zjr32xpj4kkl3rxshcz5x2qvkn1ciq4v61p6a7vfr3qmkiz2"
   },
   "stable": {
    "version": [
@@ -61775,8 +61856,8 @@
   "repo": "kaiwk/leetcode.el",
   "unstable": {
    "version": [
-    20210121,
-    1600
+    20210620,
+    706
    ],
    "deps": [
     "aio",
@@ -61785,14 +61866,14 @@
     "log4e",
     "spinner"
    ],
-   "commit": "9c44791407c3f4f76d903ee43367547803ae9c32",
-   "sha256": "14nlmgbkb8vyb0r25sdg03lg2h38gj83vspp9v9vsqyiiirhnvnh"
+   "commit": "aeba19919e6d8f1c0529330572240143a2af38e0",
+   "sha256": "0yfghps19832w4sdjaglnbb9xn40fc5a6072lxbsw8gan9c2bjh7"
   },
   "stable": {
    "version": [
     0,
     1,
-    18
+    22
    ],
    "deps": [
     "aio",
@@ -61801,8 +61882,8 @@
     "log4e",
     "spinner"
    ],
-   "commit": "ef59344158ae4b7842ca2531ec77c439ed6e6997",
-   "sha256": "0sxrzr34x43dcxw9l3ib982rz4327fpwnjmj3hi17bc5gk6zzfq2"
+   "commit": "aeba19919e6d8f1c0529330572240143a2af38e0",
+   "sha256": "0yfghps19832w4sdjaglnbb9xn40fc5a6072lxbsw8gan9c2bjh7"
   }
  },
  {
@@ -62049,16 +62130,17 @@
     20210603,
     1241
    ],
-   "commit": "1feb8af64c977946b6184b7d63b436c49dbeb52d",
-   "sha256": "0vxpkvp8fsi52zb2sqqd9xfdndyxb59hqg8qkpdfsdwszxngfij5"
+   "commit": "8b73426766029eb541b69f49cc49b9dfa1c616be",
+   "sha256": "101mpzj38w6cng09aq5rq4ly4a0p9zgr8jmbvlkf12i8k03lsfsv"
   },
   "stable": {
    "version": [
     2,
-    0
+    0,
+    1
    ],
-   "commit": "76eaf432f768b45393e404c1bd1861a08c19de3b",
-   "sha256": "0vxpkvp8fsi52zb2sqqd9xfdndyxb59hqg8qkpdfsdwszxngfij5"
+   "commit": "c09b9aebaa659f5c2d0c152d8401fd6924144ce9",
+   "sha256": "0a5cfnk3021idvv4bv2lvnksjy9d0yyd13bnj793ks86j5f3hdv5"
   }
  },
  {
@@ -62153,11 +62235,11 @@
   "repo": "magit/libegit2",
   "unstable": {
    "version": [
-    20200515,
-    1759
+    20210620,
+    2017
    ],
-   "commit": "0ef8b13aef011a98b7da756e4f1ce3bb18e4d55a",
-   "sha256": "0pnjr3bg6y6354dfjjxfj0g51swzgl1fncpprah75x4k94rd369f"
+   "commit": "77bd28aeaa2a49962e8f714741f5a69b656a2183",
+   "sha256": "19sxrikxl0kbfnbl2rdjvj96l9abmqhi68jj5hglgpa8qp3flc24"
   }
  },
  {
@@ -62183,20 +62265,20 @@
   "repo": "mpdel/libmpdel",
   "unstable": {
    "version": [
-    20210107,
-    950
+    20210627,
+    755
    ],
-   "commit": "9162a4b350c978f94dde6f75d60bc6a17e1dc18e",
-   "sha256": "0w45g4pkjsggv5yqw0zsnwqvzljapfvhxzf0vhnrqc446ys9jzp3"
+   "commit": "e4ae63dd002fe07835c3c8a35b20b6e8347f8e84",
+   "sha256": "0pryjihv1766x86lqy2anpxwr159dndlzmqxxiiwhhz4skp5498w"
   },
   "stable": {
    "version": [
     1,
-    2,
+    3,
     0
    ],
-   "commit": "a9d67cea595bfeff73cf6281fa735df98dee9a45",
-   "sha256": "1nzs6g2mg3jhfhhfcxjhd9sbvwzhmr6j6mc80ln2nr4gzjqgaa4k"
+   "commit": "b49ab2fe497d61d7d00ed1ad0c3b5a1d6a65e5c4",
+   "sha256": "0krxhcay5s9s7i41q7ga5skj31vaz2qx3djcrlwajf203bl8j4m9"
   }
  },
  {
@@ -62296,36 +62378,36 @@
     20210303,
     1751
    ],
-   "commit": "be7ff92e4dfb06ed51baaa10157d9a1ee1cd666a",
-   "sha256": "067i605hk3qy01106l90bbl91ivr3zqv2yqr41jf5pfysafykx4x"
+   "commit": "95538837d93c9d05e35ea85d6c25527fac715df7",
+   "sha256": "0p3v41vrsfjv866gjys2izmiyxl7vaiy7m93ra9kx45mrslyjcyg"
   },
   "stable": {
    "version": [
     0,
-    17,
+    19,
     0
    ],
-   "commit": "ec97fdf14ce7a65398ecc2755654db46a3ef3b14",
-   "sha256": "067i605hk3qy01106l90bbl91ivr3zqv2yqr41jf5pfysafykx4x"
+   "commit": "0169d3ef40403c1bb41b5ce81c7ae2ec01a6ba1d",
+   "sha256": "0p3v41vrsfjv866gjys2izmiyxl7vaiy7m93ra9kx45mrslyjcyg"
   }
  },
  {
   "ename": "line-reminder",
-  "commit": "6c2287c7b4c543e92ccfab120388b2c05174d2db",
-  "sha256": "1s3ibn7c1j6m7wdkb0z37apgfc0g8vhhrqcnmldf19zi3k13bm0x",
+  "commit": "eb151125750b06c2cf6fcc5d762c980fdc89b0dc",
+  "sha256": "1l7bf0lvncn645v7c3rr5gxd9jkz5jfyaps864mzwvmasbx6d3p4",
   "fetcher": "github",
-  "repo": "jcs-elpa/line-reminder",
+  "repo": "emacs-vs/line-reminder",
   "unstable": {
    "version": [
-    20210531,
-    743
+    20210627,
+    2121
    ],
    "deps": [
     "fringe-helper",
     "indicators"
    ],
-   "commit": "1856034d0ed8ce41a29a1ea051184ee7c2f3e276",
-   "sha256": "0ni73ybrg21l63hs51pixkxf77bl288hzji03bm8v1hzsm72vxxs"
+   "commit": "355cdcb6888fe6668e85a96dfe694d4bd050372e",
+   "sha256": "0hs5js38djfid0aqz0ygswqj26j3dpqjbaidghlfhdhcvifixsvw"
   },
   "stable": {
    "version": [
@@ -62352,8 +62434,8 @@
     20180219,
     1024
    ],
-   "commit": "68e59d0fff1eb76c7b1a72c438f344c251115e81",
-   "sha256": "1ipqf3qfgzcrrp6xwgxb6wkk8a6ii5jx5im5gfhghdhy45z2m3ii"
+   "commit": "a52bd2bce9d6fb73dc7fe1e867e3ea804b5abd07",
+   "sha256": "18fl0f3j6bfv85pjcf0fggd0k6l6gxwvi19jrp3slzf0mhrlxd8k"
   },
   "stable": {
    "version": [
@@ -62944,8 +63026,8 @@
    "deps": [
     "s"
    ],
-   "commit": "29bb40a7150b6cfe1a96948ae1f36e9c107eb759",
-   "sha256": "1dznafcfwmd52jakkzzk3dhji55aal7hsfkglr3051fz8pkz7xfx"
+   "commit": "18d523d5b6a8cecc3e93c550d2ceab2d1035de02",
+   "sha256": "1d8dlb2xsqk88lac7f9n0y8ridkn6gfl5pb6sr2n66v9mq75j6rq"
   }
  },
  {
@@ -62985,11 +63067,11 @@
   "repo": "jingtaozf/literate-elisp",
   "unstable": {
    "version": [
-    20210605,
-    1238
+    20210612,
+    1056
    ],
-   "commit": "41f0946037b50323901ce708c1af82e59a334433",
-   "sha256": "1hjb1f835xq5jgq4s0dpr85vs5cap001lxv9n02l198gb2qppq6k"
+   "commit": "1a6465d4190491ddf927698554b13352a7babb3a",
+   "sha256": "1nbzrxfrz209dgnlhkqq9bpf2h678laac2wsrrmf9flw65dpafv9"
   },
   "stable": {
    "version": [
@@ -63082,11 +63164,11 @@
   "repo": "donkirkby/live-py-plugin",
   "unstable": {
    "version": [
-    20210413,
-    205
+    20210701,
+    1735
    ],
-   "commit": "c191b149f93ed473f3900e506cfc762d53145237",
-   "sha256": "0likjz2q0pbs3cbqczdfhh6k0c1j8y6j32cxkcpjm9wakp1vzxq2"
+   "commit": "96ca0e9058d8c1e533ce9aa1396e49f086362b06",
+   "sha256": "0bcilb7mcf9al3qs8i63idw97025b193sslrwkd7w8pphk2g9cqi"
   },
   "stable": {
    "version": [
@@ -63658,11 +63740,14 @@
   "repo": "okamsn/loopy",
   "unstable": {
    "version": [
-    20210601,
-    133
+    20210701,
+    216
    ],
-   "commit": "50494b545b9a909fc6570216230beda1ebeedf36",
-   "sha256": "0wag0hhpak0i1k2bmzz896jkpadrmacj1m0bbb3y7rrl9sw1dcqg"
+   "deps": [
+    "map"
+   ],
+   "commit": "27df47157a0a1753065172a346a2ffeb1778a99c",
+   "sha256": "0cwqyggc9hf5kwpypw0230p5fl3j8a6b2k3cgsrfk4i4lwkfnr5c"
   }
  },
  {
@@ -63673,15 +63758,15 @@
   "repo": "okamsn/loopy",
   "unstable": {
    "version": [
-    20210601,
-    129
+    20210701,
+    216
    ],
    "deps": [
     "dash",
     "loopy"
    ],
-   "commit": "50494b545b9a909fc6570216230beda1ebeedf36",
-   "sha256": "0wag0hhpak0i1k2bmzz896jkpadrmacj1m0bbb3y7rrl9sw1dcqg"
+   "commit": "27df47157a0a1753065172a346a2ffeb1778a99c",
+   "sha256": "0cwqyggc9hf5kwpypw0230p5fl3j8a6b2k3cgsrfk4i4lwkfnr5c"
   }
  },
  {
@@ -63748,8 +63833,8 @@
   "repo": "emacs-lsp/lsp-dart",
   "unstable": {
    "version": [
-    20210601,
-    420
+    20210608,
+    2101
    ],
    "deps": [
     "dap-mode",
@@ -63760,14 +63845,14 @@
     "lsp-treemacs",
     "pkg-info"
    ],
-   "commit": "7ef909a1c9e0e1c924b43637899e0d53b0d1b00f",
-   "sha256": "1vsfs0jpk7fdfb3zmpxs3f7fy0s7d9b8jha5p7y6g0afhxz4iqn1"
+   "commit": "01d89d43f17a15c7ccad5a458250d5d6b0f70b09",
+   "sha256": "0vnzzfap7ndr26016n1c1q21ga2lgw9vb555mn4dql6ny191ri0r"
   },
   "stable": {
    "version": [
     1,
-    18,
-    5
+    19,
+    0
    ],
    "deps": [
     "dap-mode",
@@ -63778,8 +63863,8 @@
     "lsp-treemacs",
     "pkg-info"
    ],
-   "commit": "90a06dfc23750c3861628256a4af4e3b00b2e23d",
-   "sha256": "1cabxsz7gbjywhsqjqp32vdgycg2mq21mdxvwbfcs6k0cf319dwh"
+   "commit": "49bb4d597e30c95d66a96739ea10c1c4f74ac649",
+   "sha256": "0kwzi6f3ig6lq95h2y9nddwkisml1fig290vn1sm7wkl3r9ci8bd"
   }
  },
  {
@@ -63797,8 +63882,8 @@
     "dash",
     "lsp-mode"
    ],
-   "commit": "fa304ea402ac492e97bee14496a41afa8508cc5e",
-   "sha256": "0y0z4ind08jj93qsxgvi5zqa5f8lnamg8fv2dvkgipx1qvq25r4c"
+   "commit": "49a6bab0b1ad88d220305dbe3a0a14d368f62354",
+   "sha256": "1i3gywik5m9j797c69ng70bs28qdww9662sjl6y232rw19rya93b"
   }
  },
  {
@@ -63841,8 +63926,8 @@
   "repo": "emacs-grammarly/lsp-grammarly",
   "unstable": {
    "version": [
-    20210523,
-    403
+    20210616,
+    1021
    ],
    "deps": [
     "grammarly",
@@ -63851,8 +63936,8 @@
     "request",
     "s"
    ],
-   "commit": "f34f0d50a91a82ab9c49e2cf5ddcb42a98cc2ede",
-   "sha256": "1hqilkbxa63gkl6sc8km6j0m4lxindf184c1zl91h4sfh4kg67zb"
+   "commit": "57a698e69c0dacbcad30398c262cdc5711efba71",
+   "sha256": "17jhfzy7bk645402yi65dsw19rvyjqm5wfd8y73hcfniihdrnqzp"
   },
   "stable": {
    "version": [
@@ -63879,15 +63964,15 @@
   "repo": "emacs-lsp/lsp-haskell",
   "unstable": {
    "version": [
-    20210209,
-    2150
+    20210621,
+    1334
    ],
    "deps": [
     "haskell-mode",
     "lsp-mode"
    ],
-   "commit": "7efbef3d206989faa8b691a4230a3ed872542187",
-   "sha256": "15xp3gjj9zdvxbhcgw21108s9y99rfmih5sqlk7f0m9hw5mqw4zm"
+   "commit": "eb37ac4a6a43277263bbb17aed6a862a0992ae8e",
+   "sha256": "04pcwcw5bq6hs0zr553sf9isbslp4pbahbch0yb0l472ihlbcxwh"
   }
  },
  {
@@ -63949,8 +64034,8 @@
   "repo": "emacs-lsp/lsp-java",
   "unstable": {
    "version": [
-    20210520,
-    1747
+    20210701,
+    725
    ],
    "deps": [
     "dap-mode",
@@ -63962,8 +64047,8 @@
     "request",
     "treemacs"
    ],
-   "commit": "b6f14d8ae3cddcbacacf245aeef46e5407e5b401",
-   "sha256": "1xb051wgllmfm87bw4kiznfbsv54jqr9q02h2zy9np74n51q6jp7"
+   "commit": "28c56ec59a8c1b197727f4d56cec724445661fd9",
+   "sha256": "0g544mxv362ypwg79kyvjmnr63ss5psp89dmmzbx0bfpk8z4ib0j"
   },
   "stable": {
    "version": [
@@ -64074,14 +64159,14 @@
   "repo": "ROCKTAKEY/lsp-latex",
   "unstable": {
    "version": [
-    20210607,
-    1206
+    20210608,
+    1330
    ],
    "deps": [
     "lsp-mode"
    ],
-   "commit": "a5de6b7166935af4a1e05d254fc1a44600518066",
-   "sha256": "0i5mbz7mwnax7jwv9c1bkwp5jwqrvwvh51fgwkmnz0kpjxhzfpsm"
+   "commit": "0e4c96a625bd83930cac338eb7a998c024a15f38",
+   "sha256": "11gvqbp9j585g86ir610lb3fq87nbwr44j3xzifh4rga6cwdb6yj"
   },
   "stable": {
    "version": [
@@ -64104,14 +64189,14 @@
   "repo": "emacs-languagetool/lsp-ltex",
   "unstable": {
    "version": [
-    20210405,
-    1702
+    20210616,
+    1021
    ],
    "deps": [
     "lsp-mode"
    ],
-   "commit": "0fd8baec7e5f92d74b8b80d02c926d32332d86bd",
-   "sha256": "04jx5bknns1fyany1x8wzs6yx9qxzwrwj8m1iardxy8la3jp6ncd"
+   "commit": "cd6fa0b32118792e9f7bcbf4a26032bfff05d603",
+   "sha256": "16hn5wbfa4f958pyl47l4nvqx092ws16l99dcwijzk9xs4wrkipn"
   },
   "stable": {
    "version": [
@@ -64134,8 +64219,8 @@
   "repo": "emacs-lsp/lsp-metals",
   "unstable": {
    "version": [
-    20210529,
-    752
+    20210615,
+    1413
    ],
    "deps": [
     "dap-mode",
@@ -64147,8 +64232,8 @@
     "scala-mode",
     "treemacs"
    ],
-   "commit": "4c11fe47ef3c71a2fc7cd67a055ea0bc5883a0c6",
-   "sha256": "16laslmvsamvcn58gsi6hfs53p12q0nz7zx993ipa2xhy6n04hcg"
+   "commit": "9f82ebee48d32cd7bbc3e64b84d1ef5b0926195b",
+   "sha256": "1l4sxkmlif6dlh6j11fgy6z7hs4739jdcazm0y35cbhq9bspxsnx"
   },
   "stable": {
    "version": [
@@ -64178,8 +64263,8 @@
   "repo": "emacs-lsp/lsp-mode",
   "unstable": {
    "version": [
-    20210605,
-    1854
+    20210630,
+    2003
    ],
    "deps": [
     "dash",
@@ -64189,8 +64274,8 @@
     "markdown-mode",
     "spinner"
    ],
-   "commit": "7b75d6bf01bed9ccb108cf1406d0e2af29d7e39b",
-   "sha256": "1lbb3bpizibpnw77bgdf8j2303gwh2133n8s518frmz6gcb7kz8s"
+   "commit": "7b183d397f8bc17eceb4d156e24575a47a1d807f",
+   "sha256": "15br2gf55436jm5a3iygr8cp3vriiar85kmgmap88ws8z83qg17x"
   },
   "stable": {
    "version": [
@@ -64477,8 +64562,8 @@
   "repo": "emacs-lsp/lsp-treemacs",
   "unstable": {
    "version": [
-    20210502,
-    1804
+    20210618,
+    1722
    ],
    "deps": [
     "dash",
@@ -64487,8 +64572,8 @@
     "lsp-mode",
     "treemacs"
    ],
-   "commit": "f360d54fa68a00baec228d9582bc67c1a327d757",
-   "sha256": "0wbni6njz98c23pns4wxg4mq26zrvpyxh0qcz0a4l46zdn1962vm"
+   "commit": "905cc74726438cf06d8ad7cabb2efae75aeb2359",
+   "sha256": "0kh8yn80x1fgpcvrgj9bqmlhpnkxqsy57w8m06gws8lhlnrh4yk9"
   },
   "stable": {
    "version": [
@@ -64515,16 +64600,16 @@
   "repo": "emacs-lsp/lsp-ui",
   "unstable": {
    "version": [
-    20210604,
-    1158
+    20210619,
+    905
    ],
    "deps": [
     "dash",
     "lsp-mode",
     "markdown-mode"
    ],
-   "commit": "c4ffa7abf6706d591300c608c51d2b72178848ad",
-   "sha256": "1qr7is4k5w6dcfkcvg7crna6r26lqmb02v08i3yggq09qd01c08g"
+   "commit": "240a7de26400cf8b13312c3f9acf7ce653bdaa8a",
+   "sha256": "1zscdjlnkx43i4kw2qmlvji23xfpw7n5y4v99ld33205dg905fsy"
   },
   "stable": {
    "version": [
@@ -64550,11 +64635,11 @@
   "repo": "immerrr/lua-mode",
   "unstable": {
    "version": [
-    20201110,
-    1250
+    20210619,
+    652
    ],
-   "commit": "2d9a468b94acd8480299d47449b53136060b7b23",
-   "sha256": "1586k3friamcyfg1xszhkh1vaddrfxji1mn7rd7s8id8f7sp8mnv"
+   "commit": "2bd9077dd0405efc9276f612e24a345698c539c4",
+   "sha256": "0ldk6v7c3xamyhq6zwp2l79iyxfan0qmlycsvj39z3fljaz953z0"
   },
   "stable": {
    "version": [
@@ -64632,8 +64717,8 @@
     20210607,
     1130
    ],
-   "commit": "b5391e8dc088d95d8f131f49982d5c7cbaa23677",
-   "sha256": "08bfjg51ydznfk8w7hwznzyybl42mqa5l0pvb4xapqcq2na3d3yf"
+   "commit": "d158bb78029705a6ee848f8e00c09ba1f3575564",
+   "sha256": "1dkx6xas7dg07pgk4h3f7cdr6hmccw00qv3fi8l2vj462nd7cr5w"
   }
  },
  {
@@ -65002,8 +65087,8 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20210531,
-    1524
+    20210701,
+    1554
    ],
    "deps": [
     "dash",
@@ -65012,8 +65097,8 @@
     "transient",
     "with-editor"
    ],
-   "commit": "4a8646a30df99bbafc95d4f21a0b2bf0a6f6566f",
-   "sha256": "0y3wzvyaxn5zybjak77r1cngaqqm462s3d4f1cwmzvrnpv99f3r9"
+   "commit": "2ae376e4923e02355828350b81cdc1b0f8fa72ff",
+   "sha256": "1h07rg0fvr7av69bcks1n63digafq145mlsaddyv6xixxqjp0vbg"
   },
   "stable": {
    "version": [
@@ -65352,15 +65437,15 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20210525,
-    814
+    20210701,
+    1551
    ],
    "deps": [
     "libgit",
     "magit"
    ],
-   "commit": "4a8646a30df99bbafc95d4f21a0b2bf0a6f6566f",
-   "sha256": "0y3wzvyaxn5zybjak77r1cngaqqm462s3d4f1cwmzvrnpv99f3r9"
+   "commit": "2ae376e4923e02355828350b81cdc1b0f8fa72ff",
+   "sha256": "1h07rg0fvr7av69bcks1n63digafq145mlsaddyv6xixxqjp0vbg"
   },
   "stable": {
    "version": [
@@ -65435,14 +65520,14 @@
   "repo": "dickmao/magit-patch-changelog",
   "unstable": {
    "version": [
-    20210607,
-    1635
+    20210616,
+    1302
    ],
    "deps": [
     "magit"
    ],
-   "commit": "5cd99a6336ad4b60e9e8ce766b8a9c0395289775",
-   "sha256": "17s5268kcqhgd141fvjqnn2wrny7v03yz940k2whr383l1253k6v"
+   "commit": "623d1a6a3bfa0f01bcaaffa13ad5ce5ae29cdb0a",
+   "sha256": "1dds83a6fcpakmhny5n3s4ibcvjba4p07pg8bpy37k32c704lw27"
   }
  },
  {
@@ -65521,14 +65606,14 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20210525,
-    844
+    20210701,
+    1554
    ],
    "deps": [
     "dash"
    ],
-   "commit": "4a8646a30df99bbafc95d4f21a0b2bf0a6f6566f",
-   "sha256": "0y3wzvyaxn5zybjak77r1cngaqqm462s3d4f1cwmzvrnpv99f3r9"
+   "commit": "2ae376e4923e02355828350b81cdc1b0f8fa72ff",
+   "sha256": "1h07rg0fvr7av69bcks1n63digafq145mlsaddyv6xixxqjp0vbg"
   },
   "stable": {
    "version": [
@@ -66322,19 +66407,19 @@
   "repo": "minad/marginalia",
   "unstable": {
    "version": [
-    20210605,
-    1213
+    20210620,
+    1943
    ],
-   "commit": "4c6272ffc4836de052c8b06f681b0e700cb01602",
-   "sha256": "0l4sl4w4yq3hkpvvw7w1mh046f95bkg1c3av07kwk9cm038rwhvg"
+   "commit": "9796fada769f44cb8e05914bd6be3fcc15d791e2",
+   "sha256": "0yn6dybvsdhr37hnadmbfqi7pf7scxr9z6a6ghsqbrghycddd0mc"
   },
   "stable": {
    "version": [
     0,
-    6
+    7
    ],
-   "commit": "ca9a5e35913569d66d34193a87d8511b2bb9d2b2",
-   "sha256": "1lisns2vghmqlg8wiv6jy15cfgnc8j83khz0vfnmrjwgcmjw3bbz"
+   "commit": "9796fada769f44cb8e05914bd6be3fcc15d791e2",
+   "sha256": "0yn6dybvsdhr37hnadmbfqi7pf7scxr9z6a6ghsqbrghycddd0mc"
   }
  },
  {
@@ -66442,11 +66527,11 @@
   "repo": "jrblevin/markdown-mode",
   "unstable": {
    "version": [
-    20210530,
-    1825
+    20210616,
+    122
    ],
-   "commit": "58f2d22526ac1e4abd4ee1afff8624d2dd3123d3",
-   "sha256": "1k17zpx05yafxfsw89dlkymqc5xajzv28qby12kdhwwlsbarqvd0"
+   "commit": "1c7d29d52986b2cb153b5f643167ea49417de469",
+   "sha256": "0jgfxvhx5z3hjzpdxikx75ikgc0w7ap442svqpyigf78rb32wsjl"
   },
   "stable": {
    "version": [
@@ -66516,16 +66601,16 @@
   "repo": "ardumont/markdown-toc",
   "unstable": {
    "version": [
-    20210515,
-    902
+    20210629,
+    931
    ],
    "deps": [
     "dash",
     "markdown-mode",
     "s"
    ],
-   "commit": "86a4a2b092b0f23b9edb3ee0ab7da483b7f10a5b",
-   "sha256": "0n1fzla3dkscz70fy81fsbiyi2hj7swjy7zvxprhn36jjkb6b5hf"
+   "commit": "f78cba9b5761c91058fed3a781bd3fed7f996e1f",
+   "sha256": "12dddxa14ppa7gaayify67w4sc6ncbc68wdg4madfqj7s71lnm45"
   },
   "stable": {
    "version": [
@@ -67363,16 +67448,16 @@
   "repo": "DogLooksGood/meow",
   "unstable": {
    "version": [
-    20210606,
-    1056
+    20210622,
+    931
    ],
    "deps": [
     "cl-lib",
     "dash",
     "s"
    ],
-   "commit": "1cf2508f8e95311aa9ca405f899c3596cf8c2bc7",
-   "sha256": "12xzq9sxczjppqpx75bny2dp647m3f9ww6zf9a22rgmmspzkk5cx"
+   "commit": "174cb2fb5f1ae674a405667ed432cd6601f53656",
+   "sha256": "0ix0ph82j12v1x5bi9w643q0a9cik4yd02bmk5c919wnyfz1syy7"
   }
  },
  {
@@ -67383,11 +67468,11 @@
   "repo": "ocaml/merlin",
   "unstable": {
    "version": [
-    20210408,
-    1014
+    20210623,
+    1512
    ],
-   "commit": "7d929be2e9c1ae1a32e680591c5a224a96198e47",
-   "sha256": "0gpis7r2c7sppk4fx6alq9g2asva71xj05fjjq60zg87paimfdx4"
+   "commit": "a69ef83f2894c7e019c9b487b9646f7a63456471",
+   "sha256": "1v0pc3yglbgdpmviz45h1zcnc2kkz35jbvdzkrks122736nz1dli"
   },
   "stable": {
    "version": [
@@ -67408,15 +67493,15 @@
   "repo": "ocaml/merlin",
   "unstable": {
    "version": [
-    20210409,
-    1323
+    20210615,
+    1208
    ],
    "deps": [
     "auto-complete",
     "merlin"
    ],
-   "commit": "7d929be2e9c1ae1a32e680591c5a224a96198e47",
-   "sha256": "0gpis7r2c7sppk4fx6alq9g2asva71xj05fjjq60zg87paimfdx4"
+   "commit": "a69ef83f2894c7e019c9b487b9646f7a63456471",
+   "sha256": "1v0pc3yglbgdpmviz45h1zcnc2kkz35jbvdzkrks122736nz1dli"
   },
   "stable": {
    "version": [
@@ -67441,15 +67526,15 @@
   "repo": "ocaml/merlin",
   "unstable": {
    "version": [
-    20210409,
-    1323
+    20210615,
+    1208
    ],
    "deps": [
     "company",
     "merlin"
    ],
-   "commit": "7d929be2e9c1ae1a32e680591c5a224a96198e47",
-   "sha256": "0gpis7r2c7sppk4fx6alq9g2asva71xj05fjjq60zg87paimfdx4"
+   "commit": "a69ef83f2894c7e019c9b487b9646f7a63456471",
+   "sha256": "1v0pc3yglbgdpmviz45h1zcnc2kkz35jbvdzkrks122736nz1dli"
   },
   "stable": {
    "version": [
@@ -67503,15 +67588,15 @@
   "repo": "ocaml/merlin",
   "unstable": {
    "version": [
-    20210409,
-    1323
+    20210615,
+    1208
    ],
    "deps": [
     "iedit",
     "merlin"
    ],
-   "commit": "7d929be2e9c1ae1a32e680591c5a224a96198e47",
-   "sha256": "0gpis7r2c7sppk4fx6alq9g2asva71xj05fjjq60zg87paimfdx4"
+   "commit": "a69ef83f2894c7e019c9b487b9646f7a63456471",
+   "sha256": "1v0pc3yglbgdpmviz45h1zcnc2kkz35jbvdzkrks122736nz1dli"
   },
   "stable": {
    "version": [
@@ -67777,11 +67862,11 @@
   "repo": "kazu-yamamoto/Mew",
   "unstable": {
    "version": [
-    20210416,
-    33
+    20210625,
+    240
    ],
-   "commit": "380d6059fa9f102e736969d086749980820a9e0e",
-   "sha256": "03fxicfl7yvxj6ac636544km1khhmrjqi97r0smwqfxvlm2gs037"
+   "commit": "fc4bca6d95d8b8d5e169ecf1433d968c2eec299d",
+   "sha256": "0lcy73df204ww4kmbkfz5cbpmdwbsn7z47j5by89izn14dczllvq"
   },
   "stable": {
    "version": [
@@ -68237,11 +68322,11 @@
   "repo": "tarsius/minions",
   "unstable": {
    "version": [
-    20210603,
-    2150
+    20210615,
+    1510
    ],
-   "commit": "aed285155dc8f073d766e752520ec599e77ce8b7",
-   "sha256": "1qxszcx9n1yfc9j9ihvrdwb57n19w03600z3v4z2ybxap1y0nq3v"
+   "commit": "1be68e8571336672d6cbec86246d1bf7844976be",
+   "sha256": "0lg704kwc851spp69745np8hsk0h6rl2hvfpid0j412278ds1qi8"
   },
   "stable": {
    "version": [
@@ -68438,8 +68523,8 @@
     20210601,
     2158
    ],
-   "commit": "db502020ffe6bc65576b93527a20c0bf3df562da",
-   "sha256": "0gw6xw38x8h72gbvhmddgzijs4xvkrgs6c7v552db56hrlsj9lhp"
+   "commit": "d912fec98698c4f72a5f408d5a3f80e95327817d",
+   "sha256": "0gby38fd5vvfbm3pl2cvp6jsfjqi17xgh1m8vv9z9s6zang4knsy"
   },
   "stable": {
    "version": [
@@ -68877,11 +68962,20 @@
   "repo": "SidharthArya/modular-config.el",
   "unstable": {
    "version": [
-    20200824,
-    442
+    20210629,
+    2319
    ],
-   "commit": "c0a6d3dac1aa176deb8417c77dfeac06e9f18e1f",
-   "sha256": "1pky409m3mip42k6qw4sf28ja50lsw17318kwgcrkl0nrvnbs31j"
+   "commit": "222ed4aab718ebcc2944c6cca87ebc3370d5ac3c",
+   "sha256": "0bdh5akywlj3grwclkl4vk82iij2jlvinmcp3xbi973n7y9i4s49"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    3
+   ],
+   "commit": "222ed4aab718ebcc2944c6cca87ebc3370d5ac3c",
+   "sha256": "0bdh5akywlj3grwclkl4vk82iij2jlvinmcp3xbi973n7y9i4s49"
   }
  },
  {
@@ -68892,11 +68986,11 @@
   "repo": "protesilaos/modus-themes",
   "unstable": {
    "version": [
-    20210607,
-    917
+    20210630,
+    1252
    ],
-   "commit": "a2c8796fcbcbdd332165e02476c6de5799996d31",
-   "sha256": "0p9yzj70kx3s740dl7k3vwwkr1g9zxsirwl83n1nvswc4csgv20j"
+   "commit": "9b1d1594efa5d7389300b93c78f1b1dd389f9c27",
+   "sha256": "1m4wmcjhd7hck3rdg9anynlxzr9lnswkdzwypgwfwmabnvsyqvrm"
   },
   "stable": {
    "version": [
@@ -69239,11 +69333,11 @@
   "repo": "tarsius/moody",
   "unstable": {
    "version": [
-    20210522,
-    1100
+    20210615,
+    1511
    ],
-   "commit": "392c77174ace6c57921f237f41eaa4c3a83ac303",
-   "sha256": "0b4kg4dxy4ywwin96vz6x3rpvgr718y5rgrdarmwym9wv1qz0a0c"
+   "commit": "9d8b2f758098d19781c7c5cdaeda5785e41be039",
+   "sha256": "1z9pspjrpclxznc9d16lix1zc0yx520jx1nqjbxj3kcwfxzkbbl4"
   },
   "stable": {
    "version": [
@@ -69305,8 +69399,8 @@
   "repo": "ageldama/moonshot",
   "unstable": {
    "version": [
-    20200210,
-    2356
+    20210627,
+    2244
    ],
    "deps": [
     "cl-lib",
@@ -69318,8 +69412,8 @@
     "s",
     "seq"
    ],
-   "commit": "c9f363b1b5f2b92006e03116580540dadb7364ea",
-   "sha256": "0r6sn8f5la1sxw7af2h349p8p5ybmgpc7aisc96wjilp1zrmdh8v"
+   "commit": "ec37a12825888047a90d9ee8131aa4bea348edf7",
+   "sha256": "0vd9m2zs3rch361ykmf0l3fjsrk1rwlb7w1dc7zz3gwpb6nas845"
   }
  },
  {
@@ -69598,8 +69692,8 @@
     20210306,
     1053
    ],
-   "commit": "d031469630c70188c20598c0f3a3c3c46c6c7a14",
-   "sha256": "13mbkpzfdy136y5w6ns73qy1fsxwqzsvnnfcid2x7rrrqbxrcm5r"
+   "commit": "171aebaf3a1fb76d1a460d12c7199bc6fbcec473",
+   "sha256": "06dw5blx8r6wzkwwwbi7p3fxs4flgsf2vlkz8vv9gar4cg9w7wy7"
   },
   "stable": {
    "version": [
@@ -70256,14 +70350,14 @@
   "repo": "ReanGD/emacs-multi-compile",
   "unstable": {
    "version": [
-    20210604,
-    140
+    20210620,
+    48
    ],
    "deps": [
     "dash"
    ],
-   "commit": "948ee25878c509d0f9ba8715b209eae79143b76e",
-   "sha256": "0lgp64pgblidm4jyr3wlv5xq2x81znzi0xvqm8h0f8af9jzl2b38"
+   "commit": "65699ac6a2f787a07908466e1cbfe3333ace7532",
+   "sha256": "05h4rh5g8kqz8sl31r8800rkrcv9ir6jh6qr38qwj1zrcd77zk02"
   }
  },
  {
@@ -70828,14 +70922,14 @@
   "repo": "mallt/mysql-to-org-mode",
   "unstable": {
    "version": [
-    20200602,
-    2019
+    20210622,
+    447
    ],
    "deps": [
     "s"
    ],
-   "commit": "f3afc506f8b0d037238e49290de4b028c6ad9dd1",
-   "sha256": "19g21zvvamlhy1yrqhqbd1x3km6q2m650xsvl613rpcdqsk8l2ic"
+   "commit": "c5eefc71200f2e1d0d67a13ed897b3cdfa835117",
+   "sha256": "1ll7n8gxmzk7grlwh5igbxh7lvf7c08hi1xir2n0fj9wyzd432ny"
   },
   "stable": {
    "version": [
@@ -71921,8 +72015,8 @@
     20181024,
     1439
    ],
-   "commit": "8fa4d05fea5140f80ff5f4629d19c6ce0d6f5cca",
-   "sha256": "0dn53fjq4dl8szpjqxn91md0xvr4sa458j1p0w8vgskc0iibzn4c"
+   "commit": "c8f8f2a9e3016ab7a9ecb2e8b084cf441f3ae88e",
+   "sha256": "1nj7w0dgvhmqy5hkdn0idf468x7s2h2y5372j13w3x1fkdcnyln8"
   },
   "stable": {
    "version": [
@@ -72020,11 +72114,11 @@
   "repo": "NixOS/nix-mode",
   "unstable": {
    "version": [
-    20210523,
-    326
+    20210629,
+    2024
    ],
-   "commit": "e4844f7a711c8d7dceb82b6b841a1e8485e12586",
-   "sha256": "0g05qa926xkayd79n2zi9ypd4m5245jjxwv2vp4hqn2cl76pnpak"
+   "commit": "d27820b0408b3e9067c264e25c009bd5cd9dfcd1",
+   "sha256": "0hrhzm703k86a4wlx0hwnivklniziy2xbrs1q0mvijmsvks60f57"
   },
   "stable": {
    "version": [
@@ -72312,14 +72406,14 @@
   "repo": "emacscollective/no-littering",
   "unstable": {
    "version": [
-    20210605,
-    1753
+    20210619,
+    2158
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "a6c8e0575766eb573a7add103836d578bd205962",
-   "sha256": "1r8rarcp0q0rl19kc6q7lll0djkvf3iw17rrsjswsq3z9fyq8iyr"
+   "commit": "b12a85a5afff7b5d60f889c1c2e8f5deab7fdbae",
+   "sha256": "193kyvj2f3zgb39shhcf2qk33rzbp8qp9mkc9p0cvnrc517h6y5r"
   },
   "stable": {
    "version": [
@@ -72617,20 +72711,20 @@
   "url": "https://git.notmuchmail.org/git/notmuch",
   "unstable": {
    "version": [
-    20210605,
-    1839
+    20210627,
+    1741
    ],
-   "commit": "6f0f83660e222cfdd05b05ad134763a7ab26f097",
-   "sha256": "0rs37inh95c1r91mjjwf1kssmxq8mliblzvdjypijps13fxk7m60"
+   "commit": "1768b0c416ce1034a5726ff0037e5a605cb45ab6",
+   "sha256": "0cynllvnhiibxa9a06xg9qzybvsl802l7lcc2jwzhja05l2wrdps"
   },
   "stable": {
    "version": [
     0,
     32,
-    1
+    2
    ],
-   "commit": "b580009e2bc69efb019983bf2f7dc5052c19545a",
-   "sha256": "06r0hdz8mxnzag74md62a9m6c2zm0fxn45n4n1c26j5cmrys7j16"
+   "commit": "af56f3bcdc8a644564a1182f58bd311907193a4a",
+   "sha256": "1f0xccc51z2fijj4cyx4pcxmam9pygq0z1rb4zrybz1vpsr7zrvk"
   }
  },
  {
@@ -72700,14 +72794,14 @@
   "url": "https://git.sr.ht/~tarsius/notmuch-maildir",
   "unstable": {
    "version": [
-    20210416,
-    1043
+    20210615,
+    1513
    ],
    "deps": [
     "notmuch"
    ],
-   "commit": "e34c470521e83c3100f0d6eb9e7402ae35e19321",
-   "sha256": "0pmikf1djkr07067nkgmdcxyn7l7ibswx6qlnai8v1v51f9h1g9q"
+   "commit": "fd0e2199da746906eca080d4ca5bca17068cdce5",
+   "sha256": "1fqnx6hhg0cqj82yjpl7llg6vvppc3y8q9k6g67mqr7z3712bw0x"
   },
   "stable": {
    "version": [
@@ -73121,15 +73215,15 @@
   "repo": "douglasdavis/numpydoc.el",
   "unstable": {
    "version": [
-    20210523,
-    1746
+    20210616,
+    1532
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "dcbc06429084e209f081a8c6318b46c1c9ff7309",
-   "sha256": "0bggm5ssxpj49km8q8z9hj351garl1xydz1dya7r0yvz12y6wn5g"
+   "commit": "9209d52ddf43eddc983763b77f6932be61982475",
+   "sha256": "1sx7jj9w20gxxsqx5wa9m6da0971qp8mgp76hpdc1crqrx1mj55b"
   },
   "stable": {
    "version": [
@@ -74199,6 +74293,25 @@
   }
  },
  {
+  "ename": "ob-swiftui",
+  "commit": "ed83f297fcccfc44be9d1a20f3b96071dd7b8a58",
+  "sha256": "0hxdacxqxqkjl6gi2j909vymjnnlpv8zsmlxw3r7g5i8f468d4qr",
+  "fetcher": "github",
+  "repo": "xenodium/ob-swiftui",
+  "unstable": {
+   "version": [
+    20210618,
+    856
+   ],
+   "deps": [
+    "org",
+    "swift-mode"
+   ],
+   "commit": "31cfe991eb171bb0d2f53cf621be1b9d91573ac3",
+   "sha256": "1l2n4ijf3sfgj05xzvnb1cd9k24ynh2cg36yj386bq7kadamympc"
+  }
+ },
+ {
   "ename": "ob-tmux",
   "commit": "a3f47fbfe745972e690e8028f893bb38ba30978d",
   "sha256": "12c0m2xxd75lbc98h7cwprmdn823mh2ii59pxr6fgnq7araqkz20",
@@ -74416,11 +74529,11 @@
   "repo": "ocaml-ppx/ocamlformat",
   "unstable": {
    "version": [
-    20210601,
-    901
+    20210617,
+    1726
    ],
-   "commit": "be14af363e9338e86173c2d96732f59b3c76e73e",
-   "sha256": "10q2xd4mqdi9h6dbjfx5081l8sc025rgkxsz9hwm93yrb5xw1rwd"
+   "commit": "a54914c8f4bc5e2d57aac5ed15f1192c2f53abbc",
+   "sha256": "0625kwk1k8c4j92w4v5160zxcqxa2bf7kdmkii26m25fzw1az1d1"
   },
   "stable": {
    "version": [
@@ -74613,26 +74726,26 @@
   "repo": "oer/oer-reveal",
   "unstable": {
    "version": [
-    20210521,
-    1311
+    20210623,
+    653
    ],
    "deps": [
     "org-re-reveal"
    ],
-   "commit": "fe1feb913bf69b1e854053e3f07026c14c6c91dc",
-   "sha256": "0w4x18srwhznd4xicr2sk7m3lhzgw6pyza7skar5i4n7y30q38xp"
+   "commit": "e828f86ee607de487cb60393b41c6919d0b66356",
+   "sha256": "0m3s68n31whryzwjz8iyd9mdzvdm2r9rh9cwlw8br5qh40jbl67b"
   },
   "stable": {
    "version": [
     3,
     20,
-    1
+    2
    ],
    "deps": [
     "org-re-reveal"
    ],
-   "commit": "fe1feb913bf69b1e854053e3f07026c14c6c91dc",
-   "sha256": "0w4x18srwhznd4xicr2sk7m3lhzgw6pyza7skar5i4n7y30q38xp"
+   "commit": "26d6d8946ddd5f71954564f26e63f6b5f1e9c0aa",
+   "sha256": "0m3s68n31whryzwjz8iyd9mdzvdm2r9rh9cwlw8br5qh40jbl67b"
   }
  },
  {
@@ -74676,6 +74789,38 @@
   }
  },
  {
+  "ename": "ol-notmuch",
+  "commit": "b6d136b1033d9afdea965ab07ba7c05e9ecf56e5",
+  "sha256": "1hsc5xj9mj3p1fz4svwqam5gxhcnfrpx5s97c4rzf8fq0cnf5pd1",
+  "fetcher": "git",
+  "url": "https://git.sr.ht/~tarsius/ol-notmuch",
+  "unstable": {
+   "version": [
+    20210530,
+    2054
+   ],
+   "deps": [
+    "notmuch",
+    "org"
+   ],
+   "commit": "126fb446d8fa9e54cf21103afaf506fd81273c02",
+   "sha256": "1pkb333m1rryhxf26p8661y7w9fnsaarn0qkzys1pyfj09q9rsmj"
+  },
+  "stable": {
+   "version": [
+    2,
+    0,
+    0
+   ],
+   "deps": [
+    "notmuch",
+    "org"
+   ],
+   "commit": "126fb446d8fa9e54cf21103afaf506fd81273c02",
+   "sha256": "1pkb333m1rryhxf26p8661y7w9fnsaarn0qkzys1pyfj09q9rsmj"
+  }
+ },
+ {
   "ename": "olc",
   "commit": "1e21abd021d72c491ed1503146c51761e18c56c4",
   "sha256": "0kcqwnhhy5wa0r61yqg9gly9jd6b1846q2w43fmhzk3l4nzky32r",
@@ -75328,11 +75473,11 @@
   "repo": "oantolin/orderless",
   "unstable": {
    "version": [
-    20210603,
-    1335
+    20210613,
+    1723
    ],
-   "commit": "e85084e733d6eb50893974fc5fd569b944a5010c",
-   "sha256": "1lmjmp0iwp8n9nrqvygav7y2fxxwqpv4kk2wy2gg4bi056arbx5a"
+   "commit": "2646dad28c0819fbe9ee521d39efb9ae40e03982",
+   "sha256": "0vxfinsx69fqpcgbsv6g26klim3yasds3ha9v3xkk32y9sb783lr"
   },
   "stable": {
    "version": [
@@ -75491,26 +75636,26 @@
   "repo": "eyeinsky/org-anki",
   "unstable": {
    "version": [
-    20210603,
-    1352
+    20210628,
+    2141
    ],
    "deps": [
     "request"
    ],
-   "commit": "03c1ca90a7f2583074f020619c7cb92a783fb375",
-   "sha256": "1pwgs9xm6i0cqhrwpl60y3xbd0k64nr48kfa83x3yk9x38i6ddp0"
+   "commit": "8cc47ecef5d90d4f0f2bba669bbd89f88fda4be1",
+   "sha256": "11a44kfbpa2w54kqqc9mg3bzz0p0jrdjsz8l9sn11irl8xlgrm67"
   },
   "stable": {
    "version": [
     0,
     0,
-    2
+    3
    ],
    "deps": [
     "request"
    ],
-   "commit": "03c1ca90a7f2583074f020619c7cb92a783fb375",
-   "sha256": "1pwgs9xm6i0cqhrwpl60y3xbd0k64nr48kfa83x3yk9x38i6ddp0"
+   "commit": "8cc47ecef5d90d4f0f2bba669bbd89f88fda4be1",
+   "sha256": "11a44kfbpa2w54kqqc9mg3bzz0p0jrdjsz8l9sn11irl8xlgrm67"
   }
  },
  {
@@ -75521,14 +75666,14 @@
   "repo": "awth13/org-appear",
   "unstable": {
    "version": [
-    20210605,
-    904
+    20210627,
+    612
    ],
    "deps": [
     "org"
    ],
-   "commit": "cf87546d6458d36492a89661a1e097e5596aa26a",
-   "sha256": "18p8s0syqhqpk21ylbk8np3srknhi4ckxfxn7i4jkscsy8282lcb"
+   "commit": "12056f697fce51958e7baf837d250341bd86194e",
+   "sha256": "0p3h2inqqf9ighr9sig1spbni9mq0k4iy8w10w5bpjd3xm37qx80"
   }
  },
  {
@@ -76654,8 +76799,8 @@
   "stable": {
    "version": [
     1,
-    6,
-    1
+    7,
+    0
    ],
    "deps": [
     "dash",
@@ -76697,16 +76842,16 @@
   "repo": "marcIhm/org-index",
   "unstable": {
    "version": [
-    20210602,
-    358
+    20210630,
+    1503
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "40716a4cfd36304b4a16977020b1e82870faec15",
-   "sha256": "1wncx69rqlvx9pnr5mlwn9i00nrfhi1icxv0zpc7z2kzf03wn930"
+   "commit": "ddb1b95ac139676e4aa8a0b787e57feba34cc7cb",
+   "sha256": "0l563j9m8zcmsn8vqv3qchk4yqrfbigk5k4iqcw8p7cbix57sjah"
   },
   "stable": {
    "version": [
@@ -76780,16 +76925,16 @@
   "repo": "ahungry/org-jira",
   "unstable": {
    "version": [
-    20210527,
-    1629
+    20210622,
+    130
    ],
    "deps": [
     "cl-lib",
     "dash",
     "request"
    ],
-   "commit": "a01f0453667f9baccf0b8a514e9c9f0a9fb9fb6e",
-   "sha256": "1gn2sflvcc4gvgci3m12d16mjrwxywrd8vvrs7s87k0cf7yl74vf"
+   "commit": "f4599dd5dfd7f97a22ca98502f809a8d14551c09",
+   "sha256": "0i8rqila62qamv3mxh66g678kbang3sxjbf3x70nmrx7fyy2m2jv"
   },
   "stable": {
    "version": [
@@ -76933,14 +77078,14 @@
   "repo": "stardiviner/org-link-beautify",
   "unstable": {
    "version": [
-    20210222,
-    227
+    20210628,
+    1124
    ],
    "deps": [
     "all-the-icons"
    ],
-   "commit": "4662b3a7b9244aa35aae2f469f87be4a44a6b1bb",
-   "sha256": "1wb00rm6zdlb8hrhph783wi8zjra8m09gi6m2nnfr37al3986g0s"
+   "commit": "f78924c06c9f3902bab8e390d91402516d2bb502",
+   "sha256": "1v847kpc3fh4sxi1rw8pp6xlb89r6z224831xkd82gys74ya0724"
   }
  },
  {
@@ -77111,30 +77256,30 @@
   "repo": "ndwarshuis/org-ml",
   "unstable": {
    "version": [
-    20210328,
-    1655
+    20210627,
+    1623
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "9d8c26d12c972a60b94bcc3b364d857db997cfa3",
-   "sha256": "102lrlf25i30xbpszr1mh6mkxd6wwgbwg32dafccxm4dmj3v9hqq"
+   "commit": "e14205312c54a1c97491c7f847d296b09f5f57b0",
+   "sha256": "030fsgdp8cg2h8mlxq6769l158pqcwnv4r3bl36lpjs950lv9pas"
   },
   "stable": {
    "version": [
     5,
-    6,
-    2
+    7,
+    0
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "5aeed6d0f7f878b20483975200df43b6fc7f32f9",
-   "sha256": "102lrlf25i30xbpszr1mh6mkxd6wwgbwg32dafccxm4dmj3v9hqq"
+   "commit": "e14205312c54a1c97491c7f847d296b09f5f57b0",
+   "sha256": "030fsgdp8cg2h8mlxq6769l158pqcwnv4r3bl36lpjs950lv9pas"
   }
  },
  {
@@ -77541,17 +77686,16 @@
   "repo": "org-pivotal/org-pivotal",
   "unstable": {
    "version": [
-    20200607,
-    1505
+    20210701,
+    342
    ],
    "deps": [
     "a",
     "dash",
-    "dash-functional",
     "request"
    ],
-   "commit": "125e70f9a682751e4ed7c3a350b2794af9600f47",
-   "sha256": "1w91wb6l3vsri015awig1kfs986zf49466x4ni0m24hcg00n2m7n"
+   "commit": "f55b9773b2f4a502e636688bc1caa21ee0396abe",
+   "sha256": "1ipxr8s384pljlz9rzpdhmrsa7q7jzk27dblrrapgbgi52h3n5np"
   }
  },
  {
@@ -77594,14 +77738,14 @@
   "repo": "rlister/org-present",
   "unstable": {
    "version": [
-    20200204,
-    1647
+    20210619,
+    1614
    ],
    "deps": [
     "org"
    ],
-   "commit": "9709ca2d04a59959354222ac4d3f8b750785739a",
-   "sha256": "08f8gh2zg4gr4d5ajlcnlj2lsp8nywni4mhw4w4nfa4dwyq7mxgv"
+   "commit": "5010b90fd09f484268f731b855d394deb8b5fc3d",
+   "sha256": "0k8l7qmxbxbzc4g0xh4ipssls78fky0cq2lg3864qdli820wzy5b"
   }
  },
  {
@@ -77655,14 +77799,14 @@
   "repo": "lujun9972/org-preview-html",
   "unstable": {
    "version": [
-    20180625,
-    619
+    20210623,
+    1523
    ],
    "deps": [
     "org"
    ],
-   "commit": "8ba7ecd7ac624f33b3e2395f477bbff4f1ec4efe",
-   "sha256": "1h46v0ckhfzv3fixcfxk7pkmh56c5lana8kpwiknm447q1wmlbx4"
+   "commit": "3fe7dd85b8a7dc4ead7495095a3abaad28e2f809",
+   "sha256": "1vih94z3k8qz2vkzvcqbxpipijsxyfn2kvimylfwjrfbkrmvigsp"
   }
  },
  {
@@ -77767,12 +77911,11 @@
   "repo": "alphapapa/org-ql",
   "unstable": {
    "version": [
-    20201213,
-    1358
+    20210624,
+    1314
    ],
    "deps": [
     "dash",
-    "dash-functional",
     "f",
     "map",
     "org",
@@ -77783,13 +77926,14 @@
     "transient",
     "ts"
    ],
-   "commit": "208e103ecc146db71d878df3bd09c6eb60c2797d",
-   "sha256": "09vdndp3935iy4flynbjpkvfax7vs1ppswl19wx4nn2rp7hdz8kp"
+   "commit": "8342656b2d9af4bb6af9daa0a8b037d3693bd940",
+   "sha256": "0alrs2dsd5k4xjrs2zs7hcr5fbfrr3rdq705s04943ic4kzvhrc9"
   },
   "stable": {
    "version": [
     0,
-    5
+    5,
+    2
    ],
    "deps": [
     "dash",
@@ -77804,8 +77948,8 @@
     "transient",
     "ts"
    ],
-   "commit": "3924b023e0f1e8fa93cfa79bdd71f9f0c0fb4679",
-   "sha256": "14nsy2dbln3m5bpqzyfqycn18sb3qh407hjbkk1l0x2nqs3lrkqn"
+   "commit": "d3b0ef2f5194452d88bf23ec31ebfef822c47c24",
+   "sha256": "0b3xxnbhnrz0263fnrrdbs3gif4pjkfws4mxkfqqpg0fc8azp2rx"
   }
  },
  {
@@ -77891,8 +78035,8 @@
     "htmlize",
     "org"
    ],
-   "commit": "4538c06fab9a7259aa1fb40e93a43dcfacef27c1",
-   "sha256": "1w6zvgfcyjqlxy4s13h7w66vv0fcid57s6vigzgnzi666w86fdyh"
+   "commit": "cf000894f6e5d0627151e2bec5b1a54a311ad53e",
+   "sha256": "1lfvhc4gly06rq5i2fgjydg4rsy7vgksa8hpydsvklr0ypvc1hcc"
   },
   "stable": {
    "version": [
@@ -78159,8 +78303,8 @@
   "repo": "org-roam/org-roam",
   "unstable": {
    "version": [
-    20210513,
-    804
+    20210609,
+    1221
    ],
    "deps": [
     "dash",
@@ -78170,8 +78314,8 @@
     "org",
     "s"
    ],
-   "commit": "8ad141403065bebd5a72f0ef53cf5ef8f2034419",
-   "sha256": "126s444r0baylrmxw1z0lkbx7f40srk3wwk55li7is225qz2jlmb"
+   "commit": "756f6215b672e267f986a3d6e494f5309825b91a",
+   "sha256": "16rjqzj872y1240w15gawxcwj5gg1cds162wq1hswzplmx8wp9d1"
   },
   "stable": {
    "version": [
@@ -78207,8 +78351,8 @@
     "org-ref",
     "org-roam"
    ],
-   "commit": "f7b5be2ce0b43dd4d842484fc0ec37fdc8526907",
-   "sha256": "1cqx2izzchwd6yi0gmskdb0kiqjwk2m7rgk074bzzq0dzbpl180j"
+   "commit": "c9865196efe7cfdfcced0d47ea3e5b39bdddd162",
+   "sha256": "0c9y76r1bagz39m74kb2jcxqsc2q461407bbsib3f512sdf93lyg"
   },
   "stable": {
    "version": [
@@ -78371,11 +78515,11 @@
   "repo": "lordnik22/org-shoplist",
   "unstable": {
    "version": [
-    20210514,
-    1041
+    20210629,
+    2157
    ],
-   "commit": "1c534662719222e315d970e2fa871d222f80ea87",
-   "sha256": "1m6a37bw60xjkqaffzk1kjpcy76i5dd17925hzz2fbbhlxkac67x"
+   "commit": "71ea7643e66c97d21df49fb8b600578ca0464f83",
+   "sha256": "0pjcpry9hzma87f8isyi0q5si0i67g0gd8shj2y3qyizi9ns64a2"
   }
  },
  {
@@ -78582,11 +78726,11 @@
   "repo": "bastibe/org-static-blog",
   "unstable": {
    "version": [
-    20210606,
-    1806
+    20210616,
+    809
    ],
-   "commit": "0bd38b604405ba8e6ba00dd32ce4773eb02eb901",
-   "sha256": "1d9kdcdiz600swcy318hd56l751w2qyafdibnkzfkhjzw63c2hwh"
+   "commit": "4738a7bdb24cb4e1d1d5effc23f953e4c76e7713",
+   "sha256": "0kpa1rnpxfar8xkah29f9h6q26fgdxcb8gimsfqvrj145vama7pr"
   },
   "stable": {
    "version": [
@@ -79188,8 +79332,8 @@
     20210414,
     1844
    ],
-   "commit": "246120647e28a27506ca0894ba98e371086881fd",
-   "sha256": "15gqzj4h0w33w38i8ihl74iy7aqxlds97gm93r72z69pm2l1d7dm"
+   "commit": "8a3b529d5ece261a8847298ea03ed35615cc9bfa",
+   "sha256": "16zalqjd2llwkp7v0218crgf3k34py8zx6lj6z7i3kbmxm9nb27q"
   }
  },
  {
@@ -79617,15 +79761,15 @@
   "repo": "magit/orgit",
   "unstable": {
    "version": [
-    20210525,
-    1956
+    20210620,
+    1943
    ],
    "deps": [
     "magit",
     "org"
    ],
-   "commit": "26242895ef1642bf30c63683fb224fdba25e0853",
-   "sha256": "1xd58yqqsb79lgxkhxs4s50jq8f3639k6fhlza9hsy53apfczkal"
+   "commit": "f956d802f19ea495efa95af6c673588afeb3adc5",
+   "sha256": "0mbcr98xq3zim01dk1fbyc1vajnjwx90k62mygv343rhrd05v44m"
   },
   "stable": {
    "version": [
@@ -79649,8 +79793,8 @@
   "repo": "magit/orgit-forge",
   "unstable": {
    "version": [
-    20210525,
-    1957
+    20210615,
+    1516
    ],
    "deps": [
     "forge",
@@ -79658,8 +79802,8 @@
     "org",
     "orgit"
    ],
-   "commit": "ea2a1cf9d337901b413e9df258b8e07af55c00f6",
-   "sha256": "07ia3b6bfilnpify93kq5g10xhh794v5pmc9cmmb312c3qyqi7b4"
+   "commit": "365b75609a9454dccf5681eb6075ca53bd32af85",
+   "sha256": "1y7rywlqhsvkism9dmzlb3sijd8isp6qqhgba79aqgk9wz593rkv"
   },
   "stable": {
    "version": [
@@ -79759,8 +79903,8 @@
     20201129,
     604
    ],
-   "commit": "5aec071702c21dcc777e75b575d3875141688e46",
-   "sha256": "13405irnpwb1fgwv5d9mwywpbvb6d7smmi7nsd140l0i0m7anx1c"
+   "commit": "649fd0cdcb831dcd840c66ee324005165ce970ca",
+   "sha256": "1iarfqdxryj5p43hsch2jgqslrpyfkza9x9fpshmbpwjkbf1548x"
   },
   "stable": {
    "version": [
@@ -80713,8 +80857,8 @@
    "deps": [
     "org"
    ],
-   "commit": "074c3abf0a6aa5d671da1a39a20137140ba41d24",
-   "sha256": "1a134x8pmgas5k1m769clk3yhrzdh4n0cwmh23bf22avk6n3bz8z"
+   "commit": "290b5d6b659addf99cb96a316fb24caa90ad0e77",
+   "sha256": "04isqw4wfn5hq772sf0szq2rc3b8finhgjc5cna2sw7bhfgycywb"
   },
   "stable": {
    "version": [
@@ -81136,36 +81280,6 @@
   }
  },
  {
-  "ename": "ox-slimhtml",
-  "commit": "6fae8e3c4abd37a651d4cbdb337a74f1a7c7366a",
-  "sha256": "16jrw8n26iy69ibr29bp3pqp4lm66alihks37qipd2g5grqqfdnd",
-  "fetcher": "github",
-  "repo": "balddotcat/ox-slimhtml",
-  "unstable": {
-   "version": [
-    20210330,
-    1941
-   ],
-   "deps": [
-    "cl-lib"
-   ],
-   "commit": "72cffc4292c82d5f3a24717ed386a953862485d8",
-   "sha256": "0p22dmyrcny82k0r1w84kcwi513xy03h848knzhm9zj7360dlkiw"
-  },
-  "stable": {
-   "version": [
-    0,
-    4,
-    5
-   ],
-   "deps": [
-    "cl-lib"
-   ],
-   "commit": "a764ef64235845e4f5cfd73244d6cf1e7fee903b",
-   "sha256": "14h0kks7i2k53fwbsqb4giafacm58inppqpr5mbj904cy146g29f"
-  }
- },
- {
   "ename": "ox-spectacle",
   "commit": "f441e1b3ee30065f8a68c9b0b45d9db0cac8a289",
   "sha256": "1nf4765dihlcjbifhb9dinqin27ivqj2s8wzh1hj4vc3n8mdx5pr",
@@ -81504,14 +81618,14 @@
   "repo": "melpa/package-build",
   "unstable": {
    "version": [
-    20210421,
-    1333
+    20210616,
+    2110
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "b4eec13201093070a12f37396afce83eb6771df5",
-   "sha256": "1kr9iwsrpxbalhjz91pqplwkb44msdl2qv4rwsbapz8z8hs4xzji"
+   "commit": "95e021756ee5c5255a63cce8351178e298c68363",
+   "sha256": "05qm6a0dy2iszrlwkiw5x2v0h5whk7d4qn7qjlf5qpns5fl0fwg2"
   },
   "stable": {
    "version": [
@@ -81608,11 +81722,11 @@
   "repo": "tttuuu888/package-loading-notifier",
   "unstable": {
    "version": [
-    20210603,
-    1138
+    20210608,
+    1406
    ],
-   "commit": "8fd10303e19a2a1e8b5544ce8c34c8466af5d08a",
-   "sha256": "11d9mc9ca9bn9x3by8fqcan2c8wn85d8xnmkfvzxcmw7dz87kis2"
+   "commit": "1e30d097de8939c4aa380915d3ba3060a87ce3c6",
+   "sha256": "0wmf3pfjvxrv86mpvbkn5n4drc20yc12fwm4k6a613br0bs75gan"
   }
  },
  {
@@ -82030,8 +82144,8 @@
     20200510,
     5
    ],
-   "commit": "246120647e28a27506ca0894ba98e371086881fd",
-   "sha256": "15gqzj4h0w33w38i8ihl74iy7aqxlds97gm93r72z69pm2l1d7dm"
+   "commit": "8a3b529d5ece261a8847298ea03ed35615cc9bfa",
+   "sha256": "16zalqjd2llwkp7v0218crgf3k34py8zx6lj6z7i3kbmxm9nb27q"
   }
  },
  {
@@ -82584,22 +82698,22 @@
     "s",
     "with-editor"
    ],
-   "commit": "4e73cdc4c376ad61d2e4858bc87cf01eab0dd403",
-   "sha256": "0pvn8djsm8bvx2msrfvm12b778w9yl7sw517l2x0bdm48apz3ifx"
+   "commit": "3dd14690c7c81ac80e32e942cf5976732faf0fb3",
+   "sha256": "10015qvf98j4m26rprrvhbfj4dg4j5sg2c0ps7x94cjjxrph7kf6"
   },
   "stable": {
    "version": [
     1,
     7,
-    3
+    4
    ],
    "deps": [
-    "f",
+    "auth-source-pass",
     "s",
     "with-editor"
    ],
-   "commit": "74fdfb5022f317ad48d449e29543710bdad1afda",
-   "sha256": "0nixbsyckkp1qjszgac74m00vj10vc3vyw2wic1zgc2rx795k228"
+   "commit": "1078f2514d579178d5df7042c6a790e9c9b731ad",
+   "sha256": "17zp9pnb3i9sd2zn9qanngmsywrb7y495ngcqs6313pv3gb83v53"
   }
  },
  {
@@ -82932,11 +83046,11 @@
   "repo": "JonWaltman/pcmpl-args.el",
   "unstable": {
    "version": [
-    20190223,
-    1613
+    20210625,
+    2116
    ],
-   "commit": "0b8a05fc6e370fa9c466250659619f8d6b53d446",
-   "sha256": "1zhjpgnd8n95fv2z5d9360cx2vhw88yqz7gyc0qc563p6l3xmffg"
+   "commit": "e6957896b065e2fda80a8258dfebb86b49742c15",
+   "sha256": "0fx7v5b3v7y9qxr8n8pm6449rdf4ljc0fb6kp0vpdzfzc4yzgdni"
   }
  },
  {
@@ -83492,21 +83606,21 @@
   "repo": "bbatsov/persp-projectile",
   "unstable": {
    "version": [
-    20180616,
-    1944
+    20210618,
+    708
    ],
    "deps": [
     "cl-lib",
     "perspective",
     "projectile"
    ],
-   "commit": "533808b3e4f8f95a1e3ed9c55d9aa720277ebd5f",
-   "sha256": "17i1srw1k771i3a5wlydbyasyd9z39ryf48mxfs0dsbx1zjbj0pg"
+   "commit": "4e374d7650c7e041df5af5ac280a44d4a4ec705a",
+   "sha256": "0cpf1739cd6ylyaz7pspsmh1dsmvymdqfpypahca0nn169vdrzk9"
   },
   "stable": {
    "version": [
+    1,
     0,
-    2,
     0
    ],
    "deps": [
@@ -83514,8 +83628,8 @@
     "perspective",
     "projectile"
    ],
-   "commit": "7686633acf44402fa90429759cca6a155e4df2b9",
-   "sha256": "0rqyzsmg32sdr4k9i2lf3jfyr9bskkl7gfb5ndl16iip9py7403z"
+   "commit": "6e4c2e017d59d10d627cf95b2bb9f9fa2b22a3a3",
+   "sha256": "0566zm9gbac9b1niszl0jhwizxw2a0f8b4b2idvihpsi93iwa8vi"
   }
  },
  {
@@ -83526,14 +83640,14 @@
   "repo": "nex3/perspective-el",
   "unstable": {
    "version": [
-    20210523,
-    2254
+    20210610,
+    548
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "b37c6756700a167742c8ab06fa5a850d9d94f4bd",
-   "sha256": "1ciab9xz4lbnnnx9407bagyf10dv6h9nalzm2wj6w6x7kckb4105"
+   "commit": "68b13cef8435cae581850415cdda17e245dd0eae",
+   "sha256": "1iwqg1y47lp54qn9cjr3w9pca294mn92qlil3a4lr8xi57jbi3iz"
   },
   "stable": {
    "version": [
@@ -83988,8 +84102,8 @@
     20210519,
     1728
    ],
-   "commit": "9561a6c0a92a3d7c00e7e57972f42cb5be775898",
-   "sha256": "189imf8dvmsfhcy0p9f8a7l0z8dfdsnialk58f4p1l06p67s21df"
+   "commit": "cbf27232649c39e3749eefd23f962750bd249a49",
+   "sha256": "0r20y2hrgy1gmnx6izzvmvjh4axwb4x4pgcxn4bjmpzypand5xfp"
   },
   "stable": {
    "version": [
@@ -84101,8 +84215,8 @@
   "repo": "emacs-php/phpactor.el",
   "unstable": {
    "version": [
-    20210517,
-    1838
+    20210619,
+    1706
    ],
    "deps": [
     "async",
@@ -84110,8 +84224,8 @@
     "f",
     "php-runtime"
    ],
-   "commit": "debf66848c6099415c731b179dcd47e96db3b50b",
-   "sha256": "0i5g4gh5i5y8wsrqw89lwi2s2sn67pvvj2y6p7lnyv0i201v5bs8"
+   "commit": "272217fbb6b7e7f70615fc518d77c6d75f33a44f",
+   "sha256": "0hm96i9vdbkcq6mypjpl94dn3gzyk23iql5zzy2d221vmjhqvn7d"
   },
   "stable": {
    "version": [
@@ -84135,14 +84249,14 @@
   "repo": "emacs-php/phpstan.el",
   "unstable": {
    "version": [
-    20201122,
-    950
+    20210617,
+    2234
    ],
    "deps": [
     "php-mode"
    ],
-   "commit": "6863a5278fc656cddb604b0c6e165f05d0171d0a",
-   "sha256": "05q1y6xshh5csr672jwplp2xmp87gvj9rc65ybpa687dkdmq8cdh"
+   "commit": "56617fa87c9bec037d4e4a0a143b7d70a989c082",
+   "sha256": "02k4pmmxq3h8mi0dsjh0s0002gjkpg6g9pxsnxgalwb6rakfirbh"
   },
   "stable": {
    "version": [
@@ -84445,11 +84559,11 @@
   "repo": "EricCrosson/pine-script-mode",
   "unstable": {
    "version": [
-    20210605,
-    1527
+    20210629,
+    1257
    ],
-   "commit": "e465c0264958cbed0fb29dad2b30b9f18fbf1064",
-   "sha256": "0crc2q5mzflyz13zx0ghsf2kdmj67lcqb2vnnsw0z2sk7wafrz2i"
+   "commit": "c04309be9fb73012b4c5c839741b1abcfe0b8aa9",
+   "sha256": "1hahd9w5pww3nx1xvbci4pscpbzb0k5xv3yff896jg66di36fvwg"
   },
   "stable": {
    "version": [
@@ -84595,21 +84709,21 @@
  },
  {
   "ename": "pippel",
-  "commit": "6d1796688ed0d6957557d960ca28e450f9bcb6cf",
-  "sha256": "1li4h0dff1n7njy2lk3d50ndrlw84fphmdg16j0srkbgy7xz90yn",
+  "commit": "45459106a88b5bb8ce5afdef9a7cb95a0fb447bf",
+  "sha256": "1gn944k09r78lfn1nqg69fnwx91y9lvw1k2i9czk7yhx4zmyinpl",
   "fetcher": "github",
-  "repo": "brotzeit/pippel",
+  "repo": "arifer612/pippel",
   "unstable": {
    "version": [
-    20180710,
-    856
+    20210614,
+    1655
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "21a5200e8e5ccaa1911abb4ebf090b76ca839756",
-   "sha256": "1amqjm6kn1xda058kdwq3xgk7raz6y9iw0mzrac78sgf57qaczyb"
+   "commit": "2480fd376b8f69691b45b0141fca0d900a5ac64a",
+   "sha256": "190cd66bhvlmyxki7hl43s0h4rvflw9r36xm4ky3c1mhbkrfsz1p"
   }
  },
  {
@@ -85579,15 +85693,15 @@
   "repo": "polymode/poly-markdown",
   "unstable": {
    "version": [
-    20200316,
-    1315
+    20210625,
+    803
    ],
    "deps": [
     "markdown-mode",
     "polymode"
    ],
-   "commit": "1536cf0c32f71d5cd05c90f7905905e38006e95d",
-   "sha256": "1q4qq0ql08hxkdrd2aal03560k612my7bvnfpfij3g432hn0p7v6"
+   "commit": "e79d811d78da668556a694bb840bea3515b4c6f8",
+   "sha256": "02jpak60jl6nrz5zkkc0cw5i95vl4h6g31qvgb3qsidimav305n6"
   },
   "stable": {
    "version": [
@@ -85985,11 +86099,11 @@
   "repo": "karthink/popper",
   "unstable": {
    "version": [
-    20210602,
-    847
+    20210610,
+    1945
    ],
-   "commit": "2be084a77cc2bc79ea7dc23edada161f4ff6dfdb",
-   "sha256": "118sbcm6qavckxva81vamrs98dj38yv0qccqqj4p3a4q7brfi8cw"
+   "commit": "4c51182f5f5dd7a1ffa69fb994ef5ef6f9592686",
+   "sha256": "028wfdi240r8xdz7j77fv29brk5ck6yhhh1vj9p58m4f4ff8r9ik"
   }
  },
  {
@@ -86000,11 +86114,11 @@
   "repo": "auto-complete/popup-el",
   "unstable": {
    "version": [
-    20210317,
-    138
+    20210625,
+    400
    ],
-   "commit": "866a091b83369873b4d1c5d62a590fbb0a150bd0",
-   "sha256": "059x15zlc6c17yg5ahdca3bryr10nh9xbb61dv0gdc2wg2c0pzzi"
+   "commit": "cf899f8012f4189e76a009bebb589ff71631b1e9",
+   "sha256": "09nf95bin4dq50vapax8xndm0bay2cbsws4zvpb4hp3kk0gdzrl6"
   },
   "stable": {
    "version": [
@@ -86245,11 +86359,11 @@
   "repo": "tumashu/posframe",
   "unstable": {
    "version": [
-    20210604,
-    647
+    20210617,
+    42
    ],
-   "commit": "3257a52e3599bc1d5c9a4b646d36d7a49b0dd025",
-   "sha256": "13p7122100ywg6dc32wq0hvcn52x8djxq6vgcmdpdsdy7k4fkxwc"
+   "commit": "f97c4aff2c2c376ca62276d5597aa108546633a9",
+   "sha256": "18w06fdz63w2arwgbgbl9wghb9fin4cqpxnyajppyqk5lpnsn7iq"
   },
   "stable": {
    "version": [
@@ -86771,10 +86885,10 @@
  },
  {
   "ename": "private",
-  "commit": "6440f81aed1fcddcaf7afeedb74520e605211986",
-  "sha256": "1mvma2xgjy9vkh468x80xlri6qfr7d494la1j6r1clkjsn5kg7hr",
+  "commit": "e036ca25bced52cdacc4e56dcdea4282360aa5da",
+  "sha256": "1rq4vyfjr8b2fnwjnw28if9y9svvaxw1pwisys5p8rx0mff48cn3",
   "fetcher": "github",
-  "repo": "zhangkaiyulw/private",
+  "repo": "victorteokw/private",
   "unstable": {
    "version": [
     20150122,
@@ -87059,6 +87173,21 @@
   }
  },
  {
+  "ename": "project-mode-line-tag",
+  "commit": "9a739b3a77aaf0033161c6687e1e9c5592bb18bd",
+  "sha256": "0syr5lpn0xmvf54k65lif181y6kcvs96j8wykzzlmsf9zdkkdg20",
+  "fetcher": "github",
+  "repo": "fritzgrabo/project-mode-line-tag",
+  "unstable": {
+   "version": [
+    20210615,
+    1825
+   ],
+   "commit": "ed6adf9287d2aa526d85451623f1aa281cfa7e0a",
+   "sha256": "0xryvjsb2r4rj22wgjpixa31kg4sp7xww63hldnf7c1cvcc9g305"
+  }
+ },
+ {
   "ename": "project-persist",
   "commit": "bd81d1f8a30ed951ed94b9a4db13a2f7735ea878",
   "sha256": "0csjwj0qaw0hz2qrj8kxgxlixh2hi3aqib98vm19sr3f1b8qab24",
@@ -87143,14 +87272,14 @@
   "repo": "hying-caritas/project-shells",
   "unstable": {
    "version": [
-    20201026,
-    748
+    20210625,
+    647
    ],
    "deps": [
     "seq"
    ],
-   "commit": "382b3d48a797ea56383732ebf9cd219aeec676df",
-   "sha256": "04zsk6mwxkp71fbjq64k78nwx3gvgbp2fmm5f8ah2ap2g65j5kq3"
+   "commit": "900369828f1a213c60a2207a71d46bc43fd5405c",
+   "sha256": "1igs3dr3j9lw8lyww1wp69v5i9k2ifvblmsh862vx7l6rvy98f5h"
   }
  },
  {
@@ -87161,14 +87290,14 @@
   "repo": "bbatsov/projectile",
   "unstable": {
    "version": [
-    20210607,
-    1513
+    20210701,
+    441
    ],
    "deps": [
     "pkg-info"
    ],
-   "commit": "155fdb44176347c9599357c7935993033260a930",
-   "sha256": "040g4frdjabpa8ddhag81dx3kphh5kp3iv34x4zsbkhb6gryd5zf"
+   "commit": "da08a9103b5ba3b38ef031a9627a19436eb318b5",
+   "sha256": "08y36qvr20888jc2b5172qgah0xpp9bc3iwp38w8clfrjfd28g2s"
   },
   "stable": {
    "version": [
@@ -87241,34 +87370,36 @@
   "repo": "asok/projectile-rails",
   "unstable": {
    "version": [
-    20210325,
-    2120
+    20210625,
+    708
    ],
    "deps": [
+    "dash",
     "f",
     "inf-ruby",
     "inflections",
     "projectile",
     "rake"
    ],
-   "commit": "f1fe6e8eff485dc560e6ffe7f0b9c46a61509a58",
-   "sha256": "1b9wsn6mm1ajh81f6bmp3ajxch3j05bzslzxjakw93gjg69w74y1"
+   "commit": "6a18ada3566ab2cb795129e3dfca2a32cc413fb8",
+   "sha256": "1xr6ha5jkczpbdqpxf8s4qggvx4arwky6mfwaji2kjnkk0ajjyda"
   },
   "stable": {
    "version": [
     0,
-    21,
+    22,
     0
    ],
    "deps": [
+    "dash",
     "f",
     "inf-ruby",
     "inflections",
     "projectile",
     "rake"
    ],
-   "commit": "8d6b3734958f5dc7a620dc1b44754986d3726f3d",
-   "sha256": "03cj0cpmqyxcvqscnjcgcfz5k1ga6knr5jcb5prnv9hfjfqgk3pb"
+   "commit": "6a18ada3566ab2cb795129e3dfca2a32cc413fb8",
+   "sha256": "1xr6ha5jkczpbdqpxf8s4qggvx4arwky6mfwaji2kjnkk0ajjyda"
   }
  },
  {
@@ -87679,17 +87810,17 @@
     20200619,
     1742
    ],
-   "commit": "4644980d818ec9d987f74c74b1a1d45de9ab01fd",
-   "sha256": "1mzblak9s46wsfh3l1798k9pjwbddnz030y0cfx831lfpr20227b"
+   "commit": "4b77b733699f9c39b517a124da737c018b1164e2",
+   "sha256": "1mfvmpwxayrzp07vl72djv162vlf0xg29mxh030lqf7jc9h11gxq"
   },
   "stable": {
    "version": [
     3,
     17,
-    2
+    3
    ],
-   "commit": "70db61a91bae270dca5db2f9837deea11118b148",
-   "sha256": "08a7rnflhklbabqm5yyz2nwyzzfbh24miiy3wsxphaanjz4xr6yi"
+   "commit": "909a0f36a10075c4b4bc70fdee2c7e32dd612a72",
+   "sha256": "08644kaxhpjs38q5q4fp01yr0wakg1ijha4g3lzp2ifg7y3c465d"
   }
  },
  {
@@ -88533,15 +88664,15 @@
   "repo": "tumashu/pyim",
   "unstable": {
    "version": [
-    20210607,
-    427
+    20210623,
+    415
    ],
    "deps": [
     "async",
     "xr"
    ],
-   "commit": "eaf331f67ad3d6ea5b63c92bcd0cfc0134466b53",
-   "sha256": "0prrkn2yaj6wm2hn17jgfxb1vz58mdm3ivmqsncrfhl1vdll73jm"
+   "commit": "70d488f9233a578f0c7f8906aa83a1a690ec10fa",
+   "sha256": "14zczmikgsxqf3klx17n1imgpqhj3gjmz4hs95lkxs3a50qbqh7z"
   },
   "stable": {
    "version": [
@@ -88588,14 +88719,14 @@
   "repo": "p1uxtar/pyim-cangjiedict",
   "unstable": {
    "version": [
-    20210507,
-    928
+    20210617,
+    934
    ],
    "deps": [
     "pyim"
    ],
-   "commit": "455e20e90044a1fcd6c4b45252745fa233e0107d",
-   "sha256": "0dv5l8cpccvc7jsc4qdijnz76dp2rznmcnkkn3w75xw46ai8chnk"
+   "commit": "d17e3d32a6480939b350a91a915ebe8e6efad819",
+   "sha256": "1bszpqsm15az0wvbgsk012manxnvigbk38qr5iqzkgd4d13yv5fs"
   }
  },
  {
@@ -88703,17 +88834,17 @@
     20210411,
     1931
    ],
-   "commit": "6c7bc2b576a705fcc7bc52494163e9a1a240ea80",
-   "sha256": "1m4swr0v998c6iq589mzx6glq7g2gc109469wcsjyi9j4cv7qgkr"
+   "commit": "6f066733e23a61d83580cd1898e6b8afab8fafea",
+   "sha256": "1m7365k7a624mp33v5x23knkcahpa9gvb3sbr8idqlk8n8k3f6mk"
   },
   "stable": {
    "version": [
     2,
-    8,
+    9,
     3
    ],
-   "commit": "735c958d3b36fb5d343b7bcb81b1055a430cb042",
-   "sha256": "1m8f8qv88bvqbviszwf0n4ch5dpyqa33067ampy706cpg7mwjvn0"
+   "commit": "aa688de05e469e33a20478144013946ccb752736",
+   "sha256": "0r2xp90bwwqnya3gq0q0gh2qdn7i9fcsq8ab890bnd0b44ivx0nk"
   }
  },
  {
@@ -88984,11 +89115,11 @@
   "repo": "python-mode-devs/python-mode",
   "unstable": {
    "version": [
-    20210601,
-    1845
+    20210620,
+    1854
    ],
-   "commit": "198ba8e15e848825b2215e9fc363f06d8c173a28",
-   "sha256": "1z6vnbnqvn20gs131d0rjncr4nk11amahvmfaffkhiwmpsl1b3gv"
+   "commit": "3f0be5ace492d2ddd8405f4b5186ef89caee762e",
+   "sha256": "17clkgs94dgq5nsjlwkr52m5s446ibfss3qc8a8m0zaz6j4f8l1m"
   },
   "stable": {
    "version": [
@@ -89162,11 +89293,11 @@
   "repo": "psaris/q-mode",
   "unstable": {
    "version": [
-    20210307,
-    2102
+    20210620,
+    1712
    ],
-   "commit": "a30a84afae9bb72bc601b213ae68821479b0bb03",
-   "sha256": "1q85vxvv76vmb9zhc91p2aqh333h1p48737spriv5sw9wvis0gdm"
+   "commit": "86d937854c45f6b2a102b42c1a991ba713532f9e",
+   "sha256": "1hbb0m5kjczyri6hbgkk1par53zfnsp7m133xqzfhg2sibrvbz2x"
   }
  },
  {
@@ -89628,15 +89759,15 @@
   "repo": "greghendershott/racket-mode",
   "unstable": {
    "version": [
-    20210604,
-    1431
+    20210629,
+    2000
    ],
    "deps": [
     "faceup",
     "pos-tip"
    ],
-   "commit": "4b46a818c08820e04d25df7fe830e80ea82e1126",
-   "sha256": "0kr1sd819rvyfw34g6sqcnygkllcx07ccc5zc773kn0ngiqd0zvn"
+   "commit": "4f8eafe2a016e2e78872e4006939ee82397e57a0",
+   "sha256": "0fa9kipg1ihfr16ljsfgxd6z8a5fj31npfxhqv7q9ysi4nq479c0"
   }
  },
  {
@@ -90293,11 +90424,11 @@
   "repo": "pfchen/read-only-cfg",
   "unstable": {
    "version": [
-    20210517,
-    749
+    20210608,
+    1259
    ],
-   "commit": "c128c9412f768adf89ff5c4ad433cf0beab6656a",
-   "sha256": "11zj4ysmacvz82j1siqlcp30i05my20lscls8wkdjl75g9d2b12l"
+   "commit": "a02395b37a68b2e20e365c2e3752f966c71d4c02",
+   "sha256": "0jihqc16knvws5w2y5djdir4h52mpwk86nbjlap47lh2r18qk6q6"
   }
  },
  {
@@ -92023,11 +92154,11 @@
   "repo": "galdor/rfc-mode",
   "unstable": {
    "version": [
-    20210510,
-    1104
+    20210615,
+    1721
    ],
-   "commit": "b885d6bd2b3be69a2413c4dc5cc34344d821cba2",
-   "sha256": "0qqvab5n5y70mv9dq06xnqmpxy9pr994k3b83kw70pq43gb03nxd"
+   "commit": "3ef663203b157e7c5b2cd3c425ec8fbe7977a24c",
+   "sha256": "0lrmgvrj69rs49vjfwkm3w9z4y5mkndra1kdqmr9s7z9f1558is1"
   },
   "stable": {
    "version": [
@@ -92050,28 +92181,28 @@
   "repo": "dajva/rg.el",
   "unstable": {
    "version": [
-    20210305,
-    1621
+    20210625,
+    939
    ],
    "deps": [
     "transient",
     "wgrep"
    ],
-   "commit": "10e64887c224002572e1f1e19c74453cba606c3f",
-   "sha256": "1519lh5j5zki2dfzd1a1hl1d24nap99hv80647rvpr3mzbcsg29s"
+   "commit": "0fa6d33d2f3123aecd0b0dbc5fa3d884edf10a92",
+   "sha256": "17f11znjyfnxs5y0zafcx9aa055wkw3igzk9gy0cipnyp42yb4v7"
   },
   "stable": {
    "version": [
     2,
-    0,
-    3
+    1,
+    0
    ],
    "deps": [
     "transient",
     "wgrep"
    ],
-   "commit": "bb89400d4d5e4eb22917f7048256745ea566a844",
-   "sha256": "0d8habjr4nv0xbgsk7nj5zid5zywf00vbl5zcx7anda5w1cy2zvr"
+   "commit": "0fa6d33d2f3123aecd0b0dbc5fa3d884edf10a92",
+   "sha256": "17f11znjyfnxs5y0zafcx9aa055wkw3igzk9gy0cipnyp42yb4v7"
   }
  },
  {
@@ -92230,8 +92361,8 @@
   "repo": "DogLooksGood/emacs-rime",
   "unstable": {
    "version": [
-    20210207,
-    1432
+    20210628,
+    1648
    ],
    "deps": [
     "cl-lib",
@@ -92239,14 +92370,14 @@
     "popup",
     "posframe"
    ],
-   "commit": "519e6eb3b5e8e668c2835d27f54fcf5776242576",
-   "sha256": "1q0kzdy3nxswsriq4fxr00wmw43x737dd7pnkf9g6v8hd7gsqkzc"
+   "commit": "b93e761209211f8a6de1bb4b8f1d36651564a8d9",
+   "sha256": "0z0iwsqr92g8ykxb51gkawwxwzx0faw0027zgdi7c38ngjqld237"
   },
   "stable": {
    "version": [
     1,
     0,
-    4
+    5
    ],
    "deps": [
     "cl-lib",
@@ -92254,8 +92385,8 @@
     "popup",
     "posframe"
    ],
-   "commit": "ee7f951f0bc3b55034634019dd385706bc413dbb",
-   "sha256": "1a50cziwg7lpgh26yvwxs46jfyfq1m0l6igbg5g5m288mz4d3an9"
+   "commit": "b93e761209211f8a6de1bb4b8f1d36651564a8d9",
+   "sha256": "0z0iwsqr92g8ykxb51gkawwxwzx0faw0027zgdi7c38ngjqld237"
   }
  },
  {
@@ -92430,11 +92561,11 @@
   "repo": "jgkamat/rmsbolt",
   "unstable": {
    "version": [
-    20191218,
-    257
+    20210624,
+    417
    ],
-   "commit": "2bc1afe528b70b8aad4243a3b2b72bcf09a599e1",
-   "sha256": "0pg2q275qd83i8c1g0f1xlwvbqd40xm3gw2ahl80blyllsvz04j9"
+   "commit": "ff496660cc52a6dd33d358ef0acc6d4bb70cc340",
+   "sha256": "05i0101238yy1da6z543nr9x5gpvgdxrrdn3sw5dibcn6z62ml3p"
   }
  },
  {
@@ -92445,14 +92576,14 @@
   "repo": "dgutov/robe",
   "unstable": {
    "version": [
-    20210608,
-    17
+    20210626,
+    137
    ],
    "deps": [
     "inf-ruby"
    ],
-   "commit": "bcddba77ba11b46f94730708fff2215f4b620428",
-   "sha256": "04az3rk7h606pv2l16wf2bmad9nqb7nx6r7cwap90dvnfjn56a3y"
+   "commit": "e1304d123d729aa063671d0ca526b01e72f0f5ed",
+   "sha256": "1ghwjymcmmr99z060l1shm9sqbjxxdgq6b7ayn8s9mldcqm5pa3q"
   },
   "stable": {
    "version": [
@@ -92695,8 +92826,8 @@
     20210313,
     1541
    ],
-   "commit": "63f18acb21e664fd92fbc19465f0b5df085b5e93",
-   "sha256": "0wzyn9qzyly71yfwhlk5m94ygjnbk459pgbpgkhp9fqgchx12p1r"
+   "commit": "65113e2a137baa9f85dc2157b893291470788dc4",
+   "sha256": "1qc4hy6r2sz59nb28xrrqiad91xbmsrr9jzhi4k915qgds6m029h"
   },
   "stable": {
    "version": [
@@ -92721,8 +92852,8 @@
    "deps": [
     "rtags"
    ],
-   "commit": "63f18acb21e664fd92fbc19465f0b5df085b5e93",
-   "sha256": "0wzyn9qzyly71yfwhlk5m94ygjnbk459pgbpgkhp9fqgchx12p1r"
+   "commit": "65113e2a137baa9f85dc2157b893291470788dc4",
+   "sha256": "1qc4hy6r2sz59nb28xrrqiad91xbmsrr9jzhi4k915qgds6m029h"
   },
   "stable": {
    "version": [
@@ -93255,8 +93386,8 @@
   "repo": "brotzeit/rustic",
   "unstable": {
    "version": [
-    20210502,
-    1646
+    20210609,
+    1900
    ],
    "deps": [
     "dash",
@@ -93269,8 +93400,8 @@
     "spinner",
     "xterm-color"
    ],
-   "commit": "ed68fd3bb410869e1a4ce3943b5913ea88d9b509",
-   "sha256": "0896m5ajlq90pp7ds6iw7plqkffm6k01v3rfqfhb3qwd92nxgcf0"
+   "commit": "bbf129cd128105de51b6c242b2551094b8d8987d",
+   "sha256": "09dnlvi8kf683n6q3yp4gy9d4idiyg4x6rcij8d90cvygh8i30wd"
   }
  },
  {
@@ -93305,11 +93436,11 @@
   "repo": "Kungsgeten/ryo-modal",
   "unstable": {
    "version": [
-    20210523,
-    757
+    20210625,
+    2046
    ],
-   "commit": "ab6417d8e546f1836618ee72d074ec65431ebc80",
-   "sha256": "1yy0jr7n55qbraxif2zhgmyr31jd5sd62jyhd3cg327vl5ga1ajg"
+   "commit": "fc9e227127fa327183d39d28c3afdb2f395a51a2",
+   "sha256": "1j05dyg77fpdh7gl29bq48fdba7kwbhsq3ryn6b8vzhncapsqj99"
   }
  },
  {
@@ -93320,11 +93451,11 @@
   "repo": "magnars/s.el",
   "unstable": {
    "version": [
-    20210603,
-    736
+    20210616,
+    619
    ],
-   "commit": "e1710af8d058faca32529d1129deb5d57871385a",
-   "sha256": "1zm9zqa1479kn74a1hbs7jc8rli7vzz5hk8k2rqpi34yf569yjhj"
+   "commit": "08661efb075d1c6b4fa812184c1e5e90c08795a9",
+   "sha256": "02hcjnf8n0nzqysqi9g7kqykxmn8nwhsx1scrq6wj1iibc16nh0p"
   },
   "stable": {
    "version": [
@@ -93740,8 +93871,8 @@
     20200830,
     301
    ],
-   "commit": "393a5f2be890c1e90b3d5f331ce1bf34dad09742",
-   "sha256": "16y5njqb9v58fmsp9nn38wvzx71jgy0di2m8933a8dkirddi324v"
+   "commit": "32c5c18e1cac173b79fc37b85dca51f4e8d57e45",
+   "sha256": "1vzg370393yfw1msgdyq2bwv3rc765z30vsrxssm0zifjqimkab6"
   }
  },
  {
@@ -94084,10 +94215,10 @@
  },
  {
   "ename": "scratches",
-  "commit": "6440f81aed1fcddcaf7afeedb74520e605211986",
-  "sha256": "116bjy1m35h83r2c354i2xk1br87nmvd99kbzax0wgkkkcjff8c4",
+  "commit": "991ef46a458c9301283dd440d79448fb25374c98",
+  "sha256": "0gq5ar2v50sxddf0lccm75kl2fq3g4zacq8wd2hf9kp3cq7mylh9",
   "fetcher": "github",
-  "repo": "zhangkaiyulw/scratches",
+  "repo": "victorteokw/scratches",
   "unstable": {
    "version": [
     20151006,
@@ -94647,15 +94778,15 @@
   "repo": "wanderlust/semi",
   "unstable": {
    "version": [
-    20210529,
-    1313
+    20210613,
+    948
    ],
    "deps": [
     "apel",
     "flim"
    ],
-   "commit": "95259568446f32c1af56dfc27e3614815322a1bf",
-   "sha256": "09xld1vpxdz1kvw039g7hk89p2d8pi95j9hgls6iviwzs6ni41yl"
+   "commit": "509f6f0bc2f5d020c63e47d9ad89410dc20bcb6f",
+   "sha256": "0lnr5kyc59rs2p3lnhyr6cc126rh17szp68xpsx4brym3blb37yc"
   }
  },
  {
@@ -94767,15 +94898,15 @@
   "repo": "twlz0ne/separedit.el",
   "unstable": {
    "version": [
-    20210521,
-    1050
+    20210630,
+    1805
    ],
    "deps": [
     "dash",
     "edit-indirect"
    ],
-   "commit": "900fdc33b647e92d0f464872da1b12d724de7d43",
-   "sha256": "1ji8qjg3qsxprsqjp4hks999f0rfqnl3nyj08hr4vra5nqk6x4cg"
+   "commit": "4fbbd85c0f809593f6d26edf1388ff059f77e82f",
+   "sha256": "0jyz0cz1c6bimkd48iv09lgmzgbb63v5dybcgrjcmcg630c8yh87"
   },
   "stable": {
    "version": [
@@ -94837,6 +94968,25 @@
   }
  },
  {
+  "ename": "seriestracker",
+  "commit": "9370b3c06f065ee50ed7e4ffcfd9d503b6e9563f",
+  "sha256": "03vg4y262yy0y3xh0imx4mh59z2lhzif5jxnad2w385khnyj1n21",
+  "fetcher": "github",
+  "repo": "MaximeWack/seriestracker",
+  "unstable": {
+   "version": [
+    20210629,
+    2303
+   ],
+   "deps": [
+    "dash",
+    "transient"
+   ],
+   "commit": "a5ce1bfd06ed90bba9947a9045659d13f3362a96",
+   "sha256": "0gjwp0h9ip58da1p8q9s9pjfh0g6pav4gam9s51xnx8mv0vbgb68"
+  }
+ },
+ {
   "ename": "servant",
   "commit": "7fabdb05de9b8ec18a3a566f99688b50443b6b44",
   "sha256": "0h8xsg37cvc5r8vkclf7d3gbf6gh4k5pmbiyhwpkbrxwjyl1sl21",
@@ -95279,11 +95429,11 @@
   "repo": "ieure/shell-here",
   "unstable": {
    "version": [
-    20191011,
-    1959
+    20210616,
+    2338
    ],
-   "commit": "88b80deb1337a97b403b20fc467fa2d579b3bfd5",
-   "sha256": "1x9zcxsc6cnh0h051377asbqhcx3mzcarrnj9zmyg6fcszgas5v1"
+   "commit": "a3679c52d31d1dc6ed29bcab087cb5455a992eda",
+   "sha256": "0w0mlggb5gnvm109qn50ric3lb9znxvfkzvc7xla2qnmaz037ppz"
   }
  },
  {
@@ -95402,6 +95552,30 @@
   }
  },
  {
+  "ename": "shellcop",
+  "commit": "51f723347f56e150852bf82d163c04aa846a3d9c",
+  "sha256": "19281hh73m898187ksb0wl409iwgr49z6mqx3dr5ggajbs7jp4yn",
+  "fetcher": "github",
+  "repo": "redguardtoo/shellcop",
+  "unstable": {
+   "version": [
+    20210622,
+    721
+   ],
+   "commit": "7c025b10173ef380ea539dbbdcd7d60977119e24",
+   "sha256": "1rjiyz3sx387b8559k01j6149jw729zlk5s3ah2jaxj6p9cag418"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    6
+   ],
+   "commit": "7c025b10173ef380ea539dbbdcd7d60977119e24",
+   "sha256": "1rjiyz3sx387b8559k01j6149jw729zlk5s3ah2jaxj6p9cag418"
+  }
+ },
+ {
   "ename": "shelldoc",
   "commit": "551623175e55629be6cfe44a595f25f09bd889e8",
   "sha256": "1xlp03aaidp7dp8349v8drzhl4lcngvxgdrwwn9cahfqlrvvbbbx",
@@ -95558,11 +95732,11 @@
   "repo": "emacs-w3m/emacs-w3m",
   "unstable": {
    "version": [
-    20210606,
-    124
+    20210621,
+    534
    ],
-   "commit": "0e18a7e96c8e425ac7c2e69aa26fa6a1e8e6e51a",
-   "sha256": "1jxp447d8xnk4ixpni7rsph7fd3p58ydmi39yrx201hbqh15jxiz"
+   "commit": "70b985b1d00c8703acb1ebf16875616903470f45",
+   "sha256": "0djvaxbxjic4m8nqmj1gs0h77gf0fik00ia7ayfha3fc7fabiif9"
   }
  },
  {
@@ -95950,6 +96124,36 @@
   }
  },
  {
+  "ename": "side-hustle",
+  "commit": "f75ebbbec4736474a745487cecebdd70a3edde21",
+  "sha256": "01avgnswjq4jflgxfkrcgc56il6v6qgxblv1zn70n2p31x7n8y63",
+  "fetcher": "github",
+  "repo": "rnkn/side-hustle",
+  "unstable": {
+   "version": [
+    20210627,
+    701
+   ],
+   "deps": [
+    "seq"
+   ],
+   "commit": "1f4cd5e7cfbabb00c6d87e913770f21e3d16c957",
+   "sha256": "0qcaqfsnw90prch3x1flccanys4bh72x2pdmf27nh5b3i9jbrbv2"
+  },
+  "stable": {
+   "version": [
+    0,
+    2,
+    0
+   ],
+   "deps": [
+    "seq"
+   ],
+   "commit": "786932352ce2f10214b801e872690e05b6102851",
+   "sha256": "09i5ds9ayid570x97glcy6cb8qdr5jc8riqfs7wl3hi4dif0z61a"
+  }
+ },
+ {
   "ename": "side-notes",
   "commit": "67d23bdaefb563d88b206a9ed822316f3d5be9a2",
   "sha256": "07hrrplgvp3fvl10fsmxifnim8wz34w7fhzzzkxpdj1zlwls6h83",
@@ -96090,14 +96294,14 @@
   "repo": "vapniks/simple-call-tree",
   "unstable": {
    "version": [
-    20210608,
-    33
+    20210625,
+    2001
    ],
    "deps": [
     "anaphora"
    ],
-   "commit": "d776c801d773e535d1647524e2c4f63b200d8ef1",
-   "sha256": "1jh1h09l4vkzj40l8nskkilbggfl889l3rhi8b70jm4yvmk9np62"
+   "commit": "26de24bcde0eae911a0185bb5a6b74b9864fcfc3",
+   "sha256": "0589ns2v6jxyd7adjkj34zlcnnxbfs6c7hm56yskbs2s4qkkf369"
   }
  },
  {
@@ -96605,15 +96809,15 @@
   "repo": "slime/slime",
   "unstable": {
    "version": [
-    20210512,
-    1220
+    20210614,
+    1523
    ],
    "deps": [
     "cl-lib",
     "macrostep"
    ],
-   "commit": "bdda756a5667a537497a35f5a0fc5b7c28bf3bd3",
-   "sha256": "0xm3fdwla8axag1zpc7361mgyjpf1qg907l86w4v8ald8z4qcvl9"
+   "commit": "98a656d96b177edce57b552a2fa9d139cdce8c9a",
+   "sha256": "133p6yj5vdw6i4j2v8ac2g9ayrwxlvvimh2qs5fmxi8vklvn7h3a"
   },
   "stable": {
    "version": [
@@ -96845,11 +97049,11 @@
   "repo": "joaotavora/sly",
   "unstable": {
    "version": [
-    20210604,
-    937
+    20210629,
+    2009
    ],
-   "commit": "c783ba6576b554f3fc15a70bf30d225f277d1863",
-   "sha256": "1lwghrqw81dr7mhx8i92nn4xhamnpqwdvmzx1lg1fzy7g5qx7fl6"
+   "commit": "954e5dad72fb5712dfa968222e2b46dfdf9a476c",
+   "sha256": "06m2vwxga1rys98z97abajqq89k2dlfrrab21hhgqwc0zmdmb9fv"
   },
   "stable": {
    "version": [
@@ -97124,10 +97328,10 @@
  },
  {
   "ename": "smart-mark",
-  "commit": "6440f81aed1fcddcaf7afeedb74520e605211986",
-  "sha256": "0kx34983qqxkx2afql1daj155294dkbinw861lhx537614fq7wmn",
+  "commit": "debbf9d7069436641a4ea922c3e44dd8176cb072",
+  "sha256": "01crd7bv6r1iz414s8044qp3560n52f4pmbq0qniin2dya7si681",
   "fetcher": "github",
-  "repo": "zhangkaiyulw/smart-mark",
+  "repo": "victorteokw/smart-mark",
   "unstable": {
    "version": [
     20150912,
@@ -98118,8 +98322,8 @@
     "flycheck",
     "solidity-mode"
    ],
-   "commit": "383ac144727c716c65989c079ae76127e25144c3",
-   "sha256": "1q4b8623mygzp3qwy5bmb3hipzjfri9007x0ilq3i7k5bs34jz9r"
+   "commit": "5f6ef3156fadae5af6f381d674d20535529a20e4",
+   "sha256": "02rmc7naspjfl757k7zdfg9xd6nvfpsiqfcxkj6ywc7mnndpq2c0"
   },
   "stable": {
    "version": [
@@ -98143,11 +98347,11 @@
   "repo": "ethereum/emacs-solidity",
   "unstable": {
    "version": [
-    20210505,
-    1704
+    20210622,
+    931
    ],
-   "commit": "383ac144727c716c65989c079ae76127e25144c3",
-   "sha256": "1q4b8623mygzp3qwy5bmb3hipzjfri9007x0ilq3i7k5bs34jz9r"
+   "commit": "5f6ef3156fadae5af6f381d674d20535529a20e4",
+   "sha256": "02rmc7naspjfl757k7zdfg9xd6nvfpsiqfcxkj6ywc7mnndpq2c0"
   },
   "stable": {
    "version": [
@@ -98643,11 +98847,11 @@
   "repo": "nashamri/spacemacs-theme",
   "unstable": {
    "version": [
-    20210206,
-    1428
+    20210618,
+    2001
    ],
-   "commit": "c8c468580048e2464f012d171b2101bfb208e33d",
-   "sha256": "1rbv04smfyhm5qm3ghn9vsl0sm4lv20gkpw2zdzrf0l3nkb7dx45"
+   "commit": "f98150e8e254e6bf94dee2de3e8baaf02e2aae80",
+   "sha256": "02jm3v3bnbc45rd4fl9kkln0pn49ix2igm254yz33cg0ykgkj2nf"
   }
  },
  {
@@ -98718,14 +98922,14 @@
   "repo": "ljos/sparql-mode",
   "unstable": {
    "version": [
-    20200429,
-    1719
+    20210701,
+    1202
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "e8c9345e2e2427282b3dc9cd1e297e3c76d34f7f",
-   "sha256": "1i799cq0dydq7jdhc1b2ridlsmmkk85286g9r6nj6kif3177l171"
+   "commit": "ceb370b3879841f8809cc3f9b1b87e898f10562f",
+   "sha256": "05vbsfyck0nxa0bsg7jjshjzh7719gx6z6i9i4ayxcfygh3wh6xz"
   },
   "stable": {
    "version": [
@@ -98763,11 +98967,11 @@
   "repo": "condy0919/spdx.el",
   "unstable": {
    "version": [
-    20210415,
-    1821
+    20210629,
+    1739
    ],
-   "commit": "86c223a2db529768fd815dc0635ed432c1a215e8",
-   "sha256": "1bz6186w83xmajnw489dc1la7b6gly9vrp40mh58gknk5fjdx86w"
+   "commit": "b915b063f9de2eff4b9a37c04559a3f2fbfdba84",
+   "sha256": "1skwcsv8cvjfsgncgd4hybkhjdf6clb65pnpqfh9jxc866aw9n39"
   }
  },
  {
@@ -98805,11 +99009,11 @@
   "repo": "brailcom/speechd-el",
   "unstable": {
    "version": [
-    20210607,
-    2032
+    20210619,
+    1753
    ],
-   "commit": "2ffae385139936a03e1d1a96993d3bf5f9509bbf",
-   "sha256": "1kwg74qy66kwhsl2pqn4cvkrqrfdvyyaz13h4h1bqpxckb1dc05z"
+   "commit": "bd21335668ac7ea4d8c992490b4a710053434e74",
+   "sha256": "1jlb1mfigcqxvm1aibf803xypmbj3x1145nmf2q0v2aaipd6s912"
   }
  },
  {
@@ -98894,11 +99098,11 @@
   "repo": "ideasman42/emacs-spell-fu",
   "unstable": {
    "version": [
-    20210415,
-    1326
+    20210617,
+    426
    ],
-   "commit": "fae15427a1027e5eafdff7e5627cd399f73dbc37",
-   "sha256": "05xarav1dw4315rh4qchvf6p9vsdyg09nm9rc6k657n4r8ip725c"
+   "commit": "1abcb5594e1bfe35716d29e64523e4cebdce737c",
+   "sha256": "0hk3cly374sgiwdf3crjj45afr8nv4jq4bda1vkdb9yqjla0xw8s"
   }
  },
  {
@@ -99482,11 +99686,11 @@
   "repo": "srfi-explorations/emacs-srfi",
   "unstable": {
    "version": [
-    20210528,
-    2053
+    20210701,
+    23
    ],
-   "commit": "c4ff94490dd8124e633f907f94955b30b7a4d8d4",
-   "sha256": "065n3x1mzhjgkyvy5j3fgqa75npxqp1dq05xgac9pqgcr2j09mi6"
+   "commit": "a92d2a4f748f124910d406a9386979688f7f28a5",
+   "sha256": "1gfqskdng23dpacvmypyc2jsrw15hrrwq84qmlnwyibf0g0pjj1f"
   },
   "stable": {
    "version": [
@@ -99614,11 +99818,11 @@
   "repo": "cjohansson/emacs-ssh-deploy",
   "unstable": {
    "version": [
-    20201016,
-    1439
+    20210626,
+    2228
    ],
-   "commit": "fce4ea35f09ed5899c1a2dfa3527bc2dd5ca3ba5",
-   "sha256": "10banrq8p0v10237yy2f04i0vvpjdz0by9cp92ambw94c3l3ii8f"
+   "commit": "7c5fe8af2d62d8f6d32ebe2d3bfc53051a9432d1",
+   "sha256": "1ca1ai742g2901pni08clk37h1ls4n65pzxpsfzsxnr7i46yh989"
   },
   "stable": {
    "version": [
@@ -99910,8 +100114,8 @@
     20200606,
     1308
    ],
-   "commit": "311caea3f11330a42a37efe078305b4ce42e53ae",
-   "sha256": "1hfr36xb24y829pcd4maw206lyhrb3qwxxzj6gwh3a0nw8s1sr1m"
+   "commit": "097c527a40797e1b3f3a954cfc5e04987fbb61a9",
+   "sha256": "0yidmzdkrw66hga7nna337jk8rkml6plhr1mzfsyfazpb9da0zsj"
   },
   "stable": {
    "version": [
@@ -99960,11 +100164,11 @@
   "repo": "motform/stimmung-themes",
   "unstable": {
    "version": [
-    20210430,
-    839
+    20210610,
+    1256
    ],
-   "commit": "eac0f54da5ff116622a6448b68057b45c337f2de",
-   "sha256": "0b7glyq3z98vi7f79zg0phqm6ibc30lq2m4mwy22gg0941rr2zja"
+   "commit": "e69b7532ceb27126fb9516c9a8aff652b032088a",
+   "sha256": "1jcqcf34d55r1z786gpkj7jwap646izk498pn2dia7skiwwljx5b"
   }
  },
  {
@@ -100268,11 +100472,11 @@
   "repo": "PythonNut/su.el",
   "unstable": {
    "version": [
-    20210226,
-    42
+    20210626,
+    2025
    ],
-   "commit": "787f78989253f4568942a4cece5f135f005e135f",
-   "sha256": "1sr6lwjd2py0pncbx4qxa8wfxa3fnmfhxr944aid672hba2pdx7s"
+   "commit": "36db018de8423a6e380a49d4e602d376a0740f6d",
+   "sha256": "08vma290dxzjxyn4df2i1kjzm24myxvsll9cxky277asbb8ja74z"
   }
  },
  {
@@ -100933,26 +101137,26 @@
   "repo": "swift-emacs/swift-mode",
   "unstable": {
    "version": [
-    20210518,
-    728
+    20210613,
+    543
    ],
    "deps": [
     "seq"
    ],
-   "commit": "4a5f57722e06dad3bbbb1a496ef7d1b732ac7c46",
-   "sha256": "05x6xy29dym9pn8kssiwhn34c1vwxgsb9jnfq6n0ii5inlw0vx2g"
+   "commit": "1b47a09f1c0e15c543e0551e7f1e643f437e7711",
+   "sha256": "1f12rmsxzjz0ixrzvi37gj6kqkjp08mym0qvnxdmqiackagxp2rq"
   },
   "stable": {
    "version": [
     8,
-    2,
+    3,
     0
    ],
    "deps": [
     "seq"
    ],
-   "commit": "fd3c824c3622aef4ad29983667f34ebad91e9f69",
-   "sha256": "1s60j7778n8vl53capi1bs5mbb1g2vwaaa4y7wdv6ajrlxh95a5x"
+   "commit": "1b47a09f1c0e15c543e0551e7f1e643f437e7711",
+   "sha256": "1f12rmsxzjz0ixrzvi37gj6kqkjp08mym0qvnxdmqiackagxp2rq"
   }
  },
  {
@@ -101354,8 +101558,8 @@
   "repo": "countvajhula/symex.el",
   "unstable": {
    "version": [
-    20210528,
-    406
+    20210630,
+    1816
    ],
    "deps": [
     "evil",
@@ -101367,8 +101571,8 @@
     "seq",
     "undo-tree"
    ],
-   "commit": "1b6466e75295bbf7847253dfb6bf580b1c68eb9f",
-   "sha256": "1rbb7zl45x9xkf05601j05vq3f3hj0nh3rbv16a3n8d0ab5qnvhr"
+   "commit": "740d80599c0a1ff0882e231e46c61ba16c83cd84",
+   "sha256": "1zfjdrm88c16czmi4i6rm87nafpyrjpjkj79cg44l9cizyv5198q"
   },
   "stable": {
    "version": [
@@ -101761,14 +101965,14 @@
   "repo": "fritzgrabo/tab-bar-groups",
   "unstable": {
    "version": [
-    20210526,
-    2044
+    20210615,
+    1915
    ],
    "deps": [
     "s"
    ],
-   "commit": "63af8dced377a346b4559145b2e6e1767263f916",
-   "sha256": "16628wjk14h99z9i822xjv8fkxra6n65nafm3cr3ci86qd00j7a2"
+   "commit": "a2e456097322d0b1cfdb7aa37c32a628bcca3bf0",
+   "sha256": "19ni9bl34hzmqsb9wiznbghw67m7g9zz3z5m3wgndn9zsj37ccka"
   }
  },
  {
@@ -101803,10 +102007,10 @@
  },
  {
   "ename": "tab-jump-out",
-  "commit": "6440f81aed1fcddcaf7afeedb74520e605211986",
-  "sha256": "1p2hkj0d9hbiwbf746l3rad8a5x6hk97b0ajl6q6cwbmy2qm3cca",
+  "commit": "f84b8d995a13b8d30d15b3bf9f671dd06fb8522b",
+  "sha256": "0yyncbgdbw8lgjaycmky7wxhhxaqydks25qf565n2xj87snc5l7n",
   "fetcher": "github",
-  "repo": "zhangkaiyulw/tab-jump-out",
+  "repo": "victorteokw/tab-jump-out",
   "unstable": {
    "version": [
     20151006,
@@ -101985,11 +102189,11 @@
   "repo": "tmalsburg/tango-plus-theme",
   "unstable": {
    "version": [
-    20210505,
-    1051
+    20210615,
+    1229
    ],
-   "commit": "f31d282a70b0eb24470935438af59de96ddace2e",
-   "sha256": "1f3kxc9l0f4r7fxhrz77lghn4847f3b7dk8j84sn6d5zr436by8n"
+   "commit": "6ad64d82c8bd8c559b9023cd70b1c2d0c18e9060",
+   "sha256": "0ig8ng5ycdf256phigh3fzalvd0ncvs54f7kfpq0gp43ky9sgvz0"
   }
  },
  {
@@ -102230,28 +102434,28 @@
   "repo": "zevlg/telega.el",
   "unstable": {
    "version": [
-    20210607,
-    1622
+    20210701,
+    1035
    ],
    "deps": [
     "rainbow-identifiers",
     "visual-fill-column"
    ],
-   "commit": "0fcca201db99fbe93e8b0fd404dc00fd55cd658a",
-   "sha256": "0nqx5sddfa9442dgsssp022rfarznnq69gclj4h5kk726rkf9cid"
+   "commit": "a4054e9517d68109212f9d69342a49d4d65dd56f",
+   "sha256": "010b2rkpr8cib1c6s1ysg5wllrsg4rxc7h7cxqrjq1978bi499cw"
   },
   "stable": {
    "version": [
     0,
     7,
-    24
+    25
    ],
    "deps": [
     "rainbow-identifiers",
     "visual-fill-column"
    ],
-   "commit": "9187e6e3d903474645f3e64806bc62ef687ec205",
-   "sha256": "1ra04cp49zzx8vy8aswd00l46ixyc44sxh1s3nw880b4ywzxmc6j"
+   "commit": "f979ac79070c39a4c483c08df96080763287ce4e",
+   "sha256": "1fdvghwpmja94d65p02j7wa09lwjs3ah1kfb1v17b6l9qd5g80nc"
   }
  },
  {
@@ -102839,10 +103043,10 @@
    "version": [
     1,
     1,
-    0
+    1
    ],
-   "commit": "77181c75cbde5954542688659cd4f2352ed29fbe",
-   "sha256": "1bcwja7hm11hxd1nmf1z93hkzcvkkpxavvbivg6j336ygzr1r82g"
+   "commit": "5d35efbf2c1619d9385ef00ed74e9de1ea7cf32d",
+   "sha256": "11df5606hiqgglxi6xrrljwh70h2wgkib447ggvs2r3f2jayilr4"
   }
  },
  {
@@ -102853,15 +103057,15 @@
   "repo": "emacsorphanage/terraform-mode",
   "unstable": {
    "version": [
-    20201208,
-    1827
+    20210621,
+    1953
    ],
    "deps": [
     "dash",
     "hcl-mode"
    ],
-   "commit": "a9fa5bdaf58e9cae32ee44b7d0883f5600441b05",
-   "sha256": "12v8mldxpa32v63zg4y3c7dihbw4v5agy3kd9rpiyymf6z0pcad5"
+   "commit": "e560caaa9d9a11b0868adf6d9dcae5ebb5055730",
+   "sha256": "0r4zw6jwn5v1xzzbc1195jblhcg3ikbmz3wiwy462qzib56bj8d3"
   },
   "stable": {
    "version": [
@@ -103321,18 +103525,18 @@
     20200212,
     1903
    ],
-   "commit": "a67ce1533462256ff418027a3aa56516a1139d02",
-   "sha256": "0f20x4bklq32lcwa2ihnlnb6ri884xx7dyhg62yqz9y4w8filhhv"
+   "commit": "6c2a7567772f3954006c77a8bdc041df83802a00",
+   "sha256": "0g1j346s8jhw830byzjvgsjg6a03kza19xsghza1bzncwqjbv1n5"
   },
   "stable": {
    "version": [
     2021,
     6,
-    7,
+    28,
     0
    ],
-   "commit": "ec71afa89573c92de4a2a2ab87a51bd9021f5819",
-   "sha256": "0h3b89nb8sshhc52fxsgpdiqr85mfg1rpzp69qmiiwx1yz0b66wi"
+   "commit": "32036a5505970a5a8c905543ebc6de1b20a662d8",
+   "sha256": "0nc9d88ydm5x4nynyxq4rqbp63ypjd1mwf18vancwigv7jxc62an"
   }
  },
  {
@@ -103388,20 +103592,20 @@
    "deps": [
     "haskell-mode"
    ],
-   "commit": "cfc231660a642b2451f874824365931419ab45a0",
-   "sha256": "06wqsljigm7hvycvg4p5rilivr8g7im300jlnm1r463dc1d12kjh"
+   "commit": "60a1c271b39dac22783a4f892446f08d3faeb025",
+   "sha256": "18spz3lvb3df0rr2cqxkqa6rfzrpwwryh4gkzp68znbbfl655l8d"
   },
   "stable": {
    "version": [
     1,
     7,
-    4
+    7
    ],
    "deps": [
     "haskell-mode"
    ],
-   "commit": "652d7a4e374d3c171278e6bdfccfa41c7621d4d3",
-   "sha256": "11590ifnh9ynwcfv31f5m59wr6ckrm3xi2g40wvk4ddxslj4yxnh"
+   "commit": "b7399a878622173bf9fdc076ec72a8353e1b924c",
+   "sha256": "1qbywv182gzbdk27bzah273mb8brmqrpxcgv1pmdy10fc7fv2z0f"
   }
  },
  {
@@ -103637,11 +103841,11 @@
   "repo": "aimebertrand/timu-spacegrey-theme",
   "unstable": {
    "version": [
-    20210607,
-    1412
+    20210621,
+    1857
    ],
-   "commit": "34a4499fac484c369774e356373b1f4994d65176",
-   "sha256": "11cjyiwi87rv9lj09810aazxgphdhpxpfhbhzr64176vqgmb8khr"
+   "commit": "80d29c0f29925775fb00e90669a153d94eae01db",
+   "sha256": "1hdxis28ngrl0d1gafckah7srad4rnpmn4dh5dxd0a5vph63cxhw"
   }
  },
  {
@@ -104282,8 +104486,8 @@
     20210528,
     754
    ],
-   "commit": "c0b2f997b3b73640d635ee84627bb8cf36c9adfe",
-   "sha256": "1kjfch0fhq67iivad56s071c8qlsssdsdg83h5v9iz2x4jipm0wa"
+   "commit": "d6f1fa18646f6ed2a1c0f06a4888130bd694ff19",
+   "sha256": "1l6v02aa072jvhq4b9dpkprqs14py0d4jm3xvihm05lvrbf9v6c6"
   },
   "stable": {
    "version": [
@@ -104386,20 +104590,20 @@
   "repo": "magit/transient",
   "unstable": {
    "version": [
-    20210530,
-    2252
+    20210701,
+    1116
    ],
-   "commit": "a96818c93a10d9ef9bb14e5c0b9fdc1a808b13b9",
-   "sha256": "1mvccsfalnr4ybsgqazxcw62vfhigxg61y6v98k2fqncnmsbripa"
+   "commit": "51e833e5152e9fdcdc1dbbf34ad2d4905bde1f69",
+   "sha256": "10k9dzs8y6i0rfckclxm5n3maylmh95993n5dvrs8rbmlcpmihvy"
   },
   "stable": {
    "version": [
     0,
     3,
-    4
+    5
    ],
-   "commit": "b47e9d7d769437e279628d801a95c173c4ff26b4",
-   "sha256": "16z0j69sk7k51sd1vri3y2v0xjj0w7wpf5mmwnsxp8y6d3m0yjbv"
+   "commit": "b711543401dafc159943d8a703cf30fabdc78e1f",
+   "sha256": "0wzfnzv2304a737zwp163aajjhm8i3ix9v7palgg1r3jskvbghmw"
   }
  },
  {
@@ -104773,8 +104977,8 @@
     "pfuture",
     "s"
    ],
-   "commit": "c2b0beaeb0383c3e6cbc453d6c42cdbc87c6da5e",
-   "sha256": "1plbkalmqi94ikb61yzbs07cr18my1s5p9fli4yd4qkw4mbwc3s4"
+   "commit": "2655a8976d56719add893cec45a18e018626842d",
+   "sha256": "060m6gwwvv82p7jry6viqzdf5fw6ljq4gbdkmqc5ilpkrcnmscv8"
   },
   "stable": {
    "version": [
@@ -104810,8 +105014,8 @@
     "all-the-icons",
     "treemacs"
    ],
-   "commit": "c2b0beaeb0383c3e6cbc453d6c42cdbc87c6da5e",
-   "sha256": "1plbkalmqi94ikb61yzbs07cr18my1s5p9fli4yd4qkw4mbwc3s4"
+   "commit": "2655a8976d56719add893cec45a18e018626842d",
+   "sha256": "060m6gwwvv82p7jry6viqzdf5fw6ljq4gbdkmqc5ilpkrcnmscv8"
   }
  },
  {
@@ -104829,8 +105033,8 @@
     "evil",
     "treemacs"
    ],
-   "commit": "c2b0beaeb0383c3e6cbc453d6c42cdbc87c6da5e",
-   "sha256": "1plbkalmqi94ikb61yzbs07cr18my1s5p9fli4yd4qkw4mbwc3s4"
+   "commit": "2655a8976d56719add893cec45a18e018626842d",
+   "sha256": "060m6gwwvv82p7jry6viqzdf5fw6ljq4gbdkmqc5ilpkrcnmscv8"
   },
   "stable": {
    "version": [
@@ -104853,14 +105057,14 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20210605,
-    1118
+    20210630,
+    1953
    ],
    "deps": [
     "treemacs"
    ],
-   "commit": "c2b0beaeb0383c3e6cbc453d6c42cdbc87c6da5e",
-   "sha256": "1plbkalmqi94ikb61yzbs07cr18my1s5p9fli4yd4qkw4mbwc3s4"
+   "commit": "2655a8976d56719add893cec45a18e018626842d",
+   "sha256": "060m6gwwvv82p7jry6viqzdf5fw6ljq4gbdkmqc5ilpkrcnmscv8"
   },
   "stable": {
    "version": [
@@ -104891,8 +105095,8 @@
     "pfuture",
     "treemacs"
    ],
-   "commit": "c2b0beaeb0383c3e6cbc453d6c42cdbc87c6da5e",
-   "sha256": "1plbkalmqi94ikb61yzbs07cr18my1s5p9fli4yd4qkw4mbwc3s4"
+   "commit": "2655a8976d56719add893cec45a18e018626842d",
+   "sha256": "060m6gwwvv82p7jry6viqzdf5fw6ljq4gbdkmqc5ilpkrcnmscv8"
   },
   "stable": {
    "version": [
@@ -104924,8 +105128,8 @@
     "persp-mode",
     "treemacs"
    ],
-   "commit": "c2b0beaeb0383c3e6cbc453d6c42cdbc87c6da5e",
-   "sha256": "1plbkalmqi94ikb61yzbs07cr18my1s5p9fli4yd4qkw4mbwc3s4"
+   "commit": "2655a8976d56719add893cec45a18e018626842d",
+   "sha256": "060m6gwwvv82p7jry6viqzdf5fw6ljq4gbdkmqc5ilpkrcnmscv8"
   },
   "stable": {
    "version": [
@@ -104957,8 +105161,8 @@
     "perspective",
     "treemacs"
    ],
-   "commit": "c2b0beaeb0383c3e6cbc453d6c42cdbc87c6da5e",
-   "sha256": "1plbkalmqi94ikb61yzbs07cr18my1s5p9fli4yd4qkw4mbwc3s4"
+   "commit": "2655a8976d56719add893cec45a18e018626842d",
+   "sha256": "060m6gwwvv82p7jry6viqzdf5fw6ljq4gbdkmqc5ilpkrcnmscv8"
   }
  },
  {
@@ -104976,8 +105180,8 @@
     "projectile",
     "treemacs"
    ],
-   "commit": "c2b0beaeb0383c3e6cbc453d6c42cdbc87c6da5e",
-   "sha256": "1plbkalmqi94ikb61yzbs07cr18my1s5p9fli4yd4qkw4mbwc3s4"
+   "commit": "2655a8976d56719add893cec45a18e018626842d",
+   "sha256": "060m6gwwvv82p7jry6viqzdf5fw6ljq4gbdkmqc5ilpkrcnmscv8"
   },
   "stable": {
    "version": [
@@ -105314,14 +105518,14 @@
   "repo": "ocaml/tuareg",
   "unstable": {
    "version": [
-    20210605,
-    1629
+    20210628,
+    1257
    ],
    "deps": [
     "caml"
    ],
-   "commit": "24c1a1adbe51d93f681e72442fa73f885eb33776",
-   "sha256": "1cp6g117kfmwfqb7sq4y4jx8ggp29f4hz2kz5g3355s8zhjlld2y"
+   "commit": "2e8482e23f45f0e6246a8d075a3b8696c5f49070",
+   "sha256": "04wblkb0jqzq67p1d96i284wfqv3ddffrwz3i3wf537wyi8bmn4k"
   },
   "stable": {
    "version": [
@@ -105738,6 +105942,30 @@
   }
  },
  {
+  "ename": "uci-mode",
+  "commit": "0779d9728de07e3115b48997f2623d1fc5c313c7",
+  "sha256": "0idk3flaq316ynf02226j4hww8rlb60ssikqkjh69n0r31ygg0q3",
+  "fetcher": "github",
+  "repo": "dwcoates/uci-mode",
+  "unstable": {
+   "version": [
+    20210626,
+    1956
+   ],
+   "commit": "2cdf4de5af96d56108a0a5716416ef3c8ac7bb7c",
+   "sha256": "133vrnbann0ibsm14h7ghdx8f9i92niazbw8r49srx2xx0jv3lk6"
+  },
+  "stable": {
+   "version": [
+    0,
+    5,
+    5
+   ],
+   "commit": "2cdf4de5af96d56108a0a5716416ef3c8ac7bb7c",
+   "sha256": "133vrnbann0ibsm14h7ghdx8f9i92niazbw8r49srx2xx0jv3lk6"
+  }
+ },
+ {
   "ename": "ucs-utils",
   "commit": "c9db386ab3910940addae6e925b2ac17e64e0f87",
   "sha256": "111fwg2cqqzpa79rcqxidppb12c8g12zszppph2ydfvkgkryb6z2",
@@ -105990,11 +106218,11 @@
   "repo": "ideasman42/emacs-undo-fu-session",
   "unstable": {
    "version": [
-    20210418,
-    920
+    20210617,
+    1327
    ],
-   "commit": "243d93b4c7c1224e7067cd323f64d23dfdfe7c0e",
-   "sha256": "1gdx6kir0a0v7q2ai59miibch9hccqlnx2y88qswfpqr9pf7z6vm"
+   "commit": "579936966b41d2d6782f587509fef21477141374",
+   "sha256": "1sqjp84hi81q62pyx7py7zvmkwdywh106i6jqqnmgkv0ai9cb2ml"
   }
  },
  {
@@ -106224,11 +106452,11 @@
   "repo": "astoff/unicode-math-input.el",
   "unstable": {
    "version": [
-    20210110,
-    1431
+    20210612,
+    847
    ],
-   "commit": "b46fc1d4cc5ab5c2bca3de1e5e43c8f53f1d343b",
-   "sha256": "1g84ynppdv46lhsrl0bgvdvlkijhzns4knkldgmbdhsjafvnz8cw"
+   "commit": "2788d7824d23749a6e5b33f653c47471455da187",
+   "sha256": "1kqaqzlgf9gqxf3fzy41m606h7ridp5iik1w5a0dpq86ni23r77c"
   }
  },
  {
@@ -106880,17 +107108,20 @@
    "deps": [
     "tuareg"
    ],
-   "commit": "bac3946079a98df00f31656dc10c6c9f1a8bc422",
-   "sha256": "1wbmr0n384501i97x0akcfwcigklwqgwvhdwgxw6zxxn5wdg60b2"
+   "commit": "c87b8b2817eefd0cd53564618911386b89b587c5",
+   "sha256": "1zf4hg33sblzh2f65vk0292jg4jlwa8702kfwpsg1kcg4w6nsfdp"
   },
   "stable": {
    "version": [
     2,
-    7,
+    8,
     0
    ],
-   "commit": "a5ff52bbf608e1112b5c0d41a36e3267f39f4084",
-   "sha256": "125cv7kwvr1xj52yfb5qlra2li2hikbqnqvqdasn0rq3pkj7f02b"
+   "deps": [
+    "tuareg"
+   ],
+   "commit": "c87b8b2817eefd0cd53564618911386b89b587c5",
+   "sha256": "1zf4hg33sblzh2f65vk0292jg4jlwa8702kfwpsg1kcg4w6nsfdp"
   }
  },
  {
@@ -106939,15 +107170,15 @@
   "repo": "damon-kwok/v-mode",
   "unstable": {
    "version": [
-    20210425,
-    411
+    20210608,
+    629
    ],
    "deps": [
     "dash",
     "hydra"
    ],
-   "commit": "96ca8dad3a3a402a44bf9066591fe27fa2e4fd9a",
-   "sha256": "08n577b8xr1pv2mdzqzdbkd5j0pih7zd4z4p5y5w4hq72mcid43q"
+   "commit": "3afbd72180417ada6aeeec861081495aca962124",
+   "sha256": "0is9hdh8w87l9x84ihhcd040z8m7cy2321q2rmbfmpffaaja90cl"
   }
  },
  {
@@ -107205,19 +107436,19 @@
   "repo": "muffinmad/emacs-vc-hgcmd",
   "unstable": {
    "version": [
-    20201211,
-    1339
+    20210608,
+    1030
    ],
-   "commit": "d23de9d10ff68b4c2302ab956f3ba3bb5d3858ee",
-   "sha256": "14c2brvw6vnf1h3lbpap4jh5d7mjnzxrbny4jk77832v09mj2ria"
+   "commit": "c00d792b34219a387832f8f9b4a689d7972f592a",
+   "sha256": "05gjyq4cpc79ipiyl3j263cw6mdbfxmh7wvsxsxavp21q588fb0y"
   },
   "stable": {
    "version": [
     1,
-    13
+    14
    ],
-   "commit": "d23de9d10ff68b4c2302ab956f3ba3bb5d3858ee",
-   "sha256": "14c2brvw6vnf1h3lbpap4jh5d7mjnzxrbny4jk77832v09mj2ria"
+   "commit": "12e102f8359095953e06ed17c7223cd6638e5cea",
+   "sha256": "1mm8lnwii53j32v54aahl8sf3ciwymrvc1rgy4nw2m7hcrnjsb78"
   }
  },
  {
@@ -107374,16 +107605,16 @@
   "repo": "justbur/emacs-vdiff-magit",
   "unstable": {
    "version": [
-    20190304,
-    1707
+    20210614,
+    1630
    ],
    "deps": [
     "magit",
     "transient",
     "vdiff"
    ],
-   "commit": "b100d126c69e5c26a61ae05aa1778bcc4302b597",
-   "sha256": "16cjmrzflf2i1w01973sl944xrfanakba8sb4dpwi79d92xp03xy"
+   "commit": "fa62a260411387702dd4cc4791075c737519001f",
+   "sha256": "04n47g3ffnh3bjq5575b6l046cpy7dixksfjy8pzsgh9ah1h37lz"
   },
   "stable": {
    "version": [
@@ -108264,17 +108495,17 @@
  },
  {
   "ename": "vs-dark-theme",
-  "commit": "60b9b00d18334f2d7b737e3cc6b3c733e1b163e4",
-  "sha256": "0didkb2zd9ac7h1ccwi9y1q5mcqpwxyws7nsk5g8rhrkygdf9lds",
+  "commit": "094a9cbc18882daa4f2efd3d72bb0a34e6bd9f63",
+  "sha256": "1rz2flacnh6h40k559l0r1vwcnx89w4j9ipp1ysnh8rzji3wl07k",
   "fetcher": "github",
-  "repo": "jcs-elpa/vs-dark-theme",
+  "repo": "emacs-vs/vs-dark-theme",
   "unstable": {
    "version": [
-    20210427,
-    727
+    20210627,
+    2121
    ],
-   "commit": "5a826e6ea3e9edd9241e3253ce97333955c8ae1a",
-   "sha256": "0q94crd6m6m000gjxwv92jz9rphmnr5wg7jzf6yig1hlhfqjgw9v"
+   "commit": "bda27d3a7f11fee0550055b0552c2633c167dd96",
+   "sha256": "1y8ycsm4d72v86prg87dffis5q853k2w0fvx5vz732jryzp18lda"
   },
   "stable": {
    "version": [
@@ -108287,17 +108518,17 @@
  },
  {
   "ename": "vs-light-theme",
-  "commit": "c997456be95ece85fdef87905e9e14fe308fd827",
-  "sha256": "02w5zyxf34r1lvk56s3xbkzpvinbwsyv1h685hg9vhn0yy0a23ns",
+  "commit": "a1258f6afe69d0a13c19246a8b8bd2e5b1a67b48",
+  "sha256": "14wbqim0bghxwp45qwjh7nc3gi91jaapakaq3x0ypyw8l6xxrbnm",
   "fetcher": "github",
-  "repo": "jcs-elpa/vs-light-theme",
+  "repo": "emacs-vs/vs-light-theme",
   "unstable": {
    "version": [
-    20210427,
-    727
+    20210627,
+    2121
    ],
-   "commit": "e324120248c1d513a6516edff250d161f876aad9",
-   "sha256": "1jw9cbbvm76ijvcrkkn27r3n6qw14jxbirdc0bryv4k12yiwla9m"
+   "commit": "a8bff6913f603a30bd98bef882ace01476c440bf",
+   "sha256": "1rshwvfggjb7amgxcl31xhll28kfbgh14aw33khlp32gq6p3vqyh"
   },
   "stable": {
    "version": [
@@ -108334,8 +108565,8 @@
     20210530,
     629
    ],
-   "commit": "961c8c1fdd7eb874d4e2ce386d5e6d1f318b5b72",
-   "sha256": "1dga7yhb5pnqj5d86pvzbabrq05xj1ppx6g0hinhm8z6m8h6y540"
+   "commit": "bcae11818d74aa0de8e592b8349d90e512444758",
+   "sha256": "1rmdin9z68xkxqjhvhyklbby5mxs3qf4wx9c07945p4ps80w8z5g"
   },
   "stable": {
    "version": [
@@ -108370,11 +108601,11 @@
   "repo": "akermu/emacs-libvterm",
   "unstable": {
    "version": [
-    20210409,
-    1558
+    20210618,
+    1922
    ],
-   "commit": "2b1392cb2b14ec5bd0b7355197d5f353aa5d3983",
-   "sha256": "0cz0zfq5lannqq2ivmp6zv9r3fybkykx2vl4vn614rij23lylbwc"
+   "commit": "d9dfa624679afdd5db6ad25429ef86d3dd91401e",
+   "sha256": "07nk6bw70mi9r3kgs5b11pfwfvfa73xwdl3xgclv8l7k87yysd69"
   }
  },
  {
@@ -108385,14 +108616,14 @@
   "repo": "jixiuf/vterm-toggle",
   "unstable": {
    "version": [
-    20210531,
-    1453
+    20210629,
+    927
    ],
    "deps": [
     "vterm"
    ],
-   "commit": "afe60b814d9d045b968f4a464bbedb241b35392b",
-   "sha256": "007spqyc474k8fxi6l3s0jh8dg18d9b07wvz3lvbyrgdqwdw2a0p"
+   "commit": "2258eb19e8bde75f79505c4306f3476bcedce56c",
+   "sha256": "0k5hmn2wnag6hirnk2ch3xviymbxha5pcb3p1j1lj2likbhwizw8"
   }
  },
  {
@@ -108606,11 +108837,11 @@
   "repo": "emacs-w3m/emacs-w3m",
   "unstable": {
    "version": [
-    20210606,
-    2300
+    20210615,
+    103
    ],
-   "commit": "0e18a7e96c8e425ac7c2e69aa26fa6a1e8e6e51a",
-   "sha256": "1jxp447d8xnk4ixpni7rsph7fd3p58ydmi39yrx201hbqh15jxiz"
+   "commit": "70b985b1d00c8703acb1ebf16875616903470f45",
+   "sha256": "0djvaxbxjic4m8nqmj1gs0h77gf0fik00ia7ayfha3fc7fabiif9"
   }
  },
  {
@@ -108831,16 +109062,16 @@
   "repo": "wanderlust/wanderlust",
   "unstable": {
    "version": [
-    20210312,
-    843
+    20210629,
+    1252
    ],
    "deps": [
     "apel",
     "flim",
     "semi"
    ],
-   "commit": "6e189fc944a9bbde76c5a6d9b6a38d57e85e6390",
-   "sha256": "0yphp7bqgmhd89hgqy8rg6kmkkzmhz3sjkzm9b1paic7fx9s0maj"
+   "commit": "769699d60aa033049804083b459ee562b82db77e",
+   "sha256": "0mgl28xsvc0421pysy6hh0hymr0li8iayaa330r41cbqsk3gz4nw"
   }
  },
  {
@@ -109614,20 +109845,20 @@
   "repo": "justbur/emacs-which-key",
   "unstable": {
    "version": [
-    20210601,
-    252
+    20210630,
+    1217
    ],
-   "commit": "fc29864395fdaf688e2ef5111831663bad89a020",
-   "sha256": "1adv32z8dmpygbrk14l1pj2535c10ncv8znfzgi1s908ds20kad1"
+   "commit": "27d9fec33abb989b030f7677ccf5f799287d6472",
+   "sha256": "1vdvp3iavh57mwhmgxwalrha7h7hgxsfnkxbrspl9x9cx7fx98f3"
   },
   "stable": {
    "version": [
     3,
     5,
-    2
+    3
    ],
-   "commit": "5fb30301cb3b4fca5a0e1ce8ec1ef59290b79199",
-   "sha256": "1wgygby4zwlbx6ry6asraaixl169qdz092zgk1brvg63w7f8vkkb"
+   "commit": "1f9c37d50f08995c8671822591c8babb893ccc6f",
+   "sha256": "144i3hkgm36wnfmqk5vq390snziy3zhwifbh6q6dzs99ic77d5g6"
   }
  },
  {
@@ -109638,15 +109869,15 @@
   "repo": "yanghaoxie/which-key-posframe",
   "unstable": {
    "version": [
-    20190427,
-    1103
+    20210615,
+    944
    ],
    "deps": [
     "posframe",
     "which-key"
    ],
-   "commit": "e7f28608c7fc9507e407c6b840dff09062df533a",
-   "sha256": "0954llm57gfy3lvq8s32mqdswbv20na0v28gi61kw7023f1wg7ri"
+   "commit": "90e85d74899fc23d95798048cc0bbdb4bab9c1b7",
+   "sha256": "173a04s00rydqpkrwdd9khwijbslkwmzqa557x6r1vpp0pdgaz0l"
   },
   "stable": {
    "version": [
@@ -109932,11 +110163,11 @@
   "repo": "progfolio/wikinfo",
   "unstable": {
    "version": [
-    20210121,
-    1642
+    20210630,
+    1730
    ],
-   "commit": "afa32f2b3c23e6d1565698faf9697fa445059bb9",
-   "sha256": "1wxdb34xsvqydr54w44b84hbins8ay1md49vphp6jqbj99q992dg"
+   "commit": "bd60451f661609b1b7bfb25662b8b68c0a842c8a",
+   "sha256": "07jplxs05bwac7i6ksxwl7pm30qk8mc3dvdx0pvim59l67vb61wh"
   }
  },
  {
@@ -109947,15 +110178,15 @@
   "repo": "progfolio/wikinforg",
   "unstable": {
    "version": [
-    20210602,
-    1459
+    20210615,
+    2334
    ],
    "deps": [
     "org",
     "wikinfo"
    ],
-   "commit": "3aecd23e68b9117a03c65fafa85a0805b58609d1",
-   "sha256": "0m1fj06x9r941k2842v2091xbff89wp704ifrcdgb6zbksx5d8i2"
+   "commit": "7df42a260fb93cb743a08e67ea92d77f62dec72b",
+   "sha256": "05qqs4b0gmnwjl6d29xns93p2lyh1x2xzl0qpydbnxjirwp2bamx"
   }
  },
  {
@@ -110125,27 +110356,28 @@
   "repo": "bmag/emacs-purpose",
   "unstable": {
    "version": [
-    20210423,
-    454
+    20210628,
+    715
    ],
    "deps": [
     "imenu-list",
     "let-alist"
    ],
-   "commit": "1a556294131a78b557f88bd28d42b43d5c6bd79a",
-   "sha256": "15v3225irmgg6zsv4h3zyqrbcgx9kbr6rzx5v5hgf9h16fgibi8j"
+   "commit": "bb462f12f836414425edac32ebd069b4fd5b98d4",
+   "sha256": "1cw513mh3gyl21qpmgwqjgpi8kwddmd4n69l4ax5a5pv3vvwrcx9"
   },
   "stable": {
    "version": [
     1,
-    8
+    8,
+    1
    ],
    "deps": [
     "imenu-list",
     "let-alist"
    ],
-   "commit": "8f84defbb4d80ecaada37a2bbde2c1d8699f98af",
-   "sha256": "1bq0s56wj6ibyh625zfnisy8yniz72dpg4mcgq55azsbnd4fblqq"
+   "commit": "bb462f12f836414425edac32ebd069b4fd5b98d4",
+   "sha256": "1cw513mh3gyl21qpmgwqjgpi8kwddmd4n69l4ax5a5pv3vvwrcx9"
   }
  },
  {
@@ -110979,8 +111211,8 @@
     20210316,
     156
    ],
-   "commit": "2e57f792edc371e7105ee388f878d52d5801f5de",
-   "sha256": "0qyx41yawaamfs8k3dr7b48kf09snlklja0pa1n8nw80q355w94p"
+   "commit": "986c9d96ff898d346b453422e8e312f7976e6089",
+   "sha256": "17wls9mn097kwpcg9f4dxa6is0yshxgmjh2z1pk1nwfd8mdpczvg"
   },
   "stable": {
    "version": [
@@ -111000,11 +111232,11 @@
   "repo": "ag91/writer-word-goals",
   "unstable": {
    "version": [
-    20210503,
-    656
+    20210614,
+    1527
    ],
-   "commit": "ef94f78b2c4e4fcf1a59d492637cbc84396cb032",
-   "sha256": "0xf2nvwvag21ds566r90rlf98hf80mz3zj2svhwmqrj6nm70p6z3"
+   "commit": "46c8a7c71275ced2c662c1222d4b85319f80dd83",
+   "sha256": "15qxs91inbpr9qk2xlaijargkvj9c6rmw0m4b05qrqni0cgb75dk"
   }
  },
  {
@@ -111115,11 +111347,11 @@
   "repo": "xahlee/xah-css-mode",
   "unstable": {
    "version": [
-    20201229,
-    837
+    20210627,
+    505
    ],
-   "commit": "5d9db23bbb982c28cbcf351957ef96ecd80e4c0b",
-   "sha256": "0f1dwl1nljxw94g6jkqv7rsyxnr9na0xxj447jhmsjyd3iry3g7n"
+   "commit": "62b7162198ca6659e025feb058e5662c55333ad4",
+   "sha256": "0xk5wa209pgc2sfz0j4dac57apy45si87628bqc21fnf877ga8qv"
   }
  },
  {
@@ -111130,11 +111362,11 @@
   "repo": "xahlee/xah-elisp-mode",
   "unstable": {
    "version": [
-    20210208,
-    2056
+    20210627,
+    508
    ],
-   "commit": "3ae341944297d59bf33f5580364af2858198781e",
-   "sha256": "09w44nmxdvc7pxyz959qj59dfqxplj22qqdal7206bb12r1l88zr"
+   "commit": "86ddb3ce73bb2a844a126e42386571ca8e884260",
+   "sha256": "1ks43xdfv287n3sy8n25widkwwx388pm3b8p4r2ld6qz200wqjdq"
   }
  },
  {
@@ -111145,11 +111377,11 @@
   "repo": "xahlee/xah-find",
   "unstable": {
    "version": [
-    20210111,
-    334
+    20210624,
+    327
    ],
-   "commit": "8948fa8f18023868731a1666f9893abc08f370e1",
-   "sha256": "1qk1scf085fc650km5hx2fp2chxj1a2hwp4bffxmp59mg78qpb71"
+   "commit": "16b8d62ddb1d5548fcd78a0371481434390ebd54",
+   "sha256": "10scxxxg84b38rjlmk0r486r7b1nvla57yq6v1h1ymlbp0addvby"
   }
  },
  {
@@ -111160,11 +111392,11 @@
   "repo": "xahlee/xah-fly-keys",
   "unstable": {
    "version": [
-    20210520,
-    540
+    20210701,
+    145
    ],
-   "commit": "3022cbf1e0b16c4fe632d03bd49832afac12510c",
-   "sha256": "0bv9r4kak8gjwcvws1vygdr9ppfyi9m34y5a5alm606y8qmzjxs6"
+   "commit": "6465e77d57a30a0a82ca4f4756593207b2ada510",
+   "sha256": "1bzlpwxkjmzgypagdp9qj4jf6crm3yhjnr98ipr1f49dl8178j6s"
   }
  },
  {
@@ -111356,8 +111588,8 @@
   "repo": "dandavison/xenops",
   "unstable": {
    "version": [
-    20210504,
-    1106
+    20210630,
+    740
    ],
    "deps": [
     "aio",
@@ -111367,8 +111599,8 @@
     "f",
     "s"
    ],
-   "commit": "4994ae4a660ee94d341ce1905c12b4cf39fee574",
-   "sha256": "0cqvz8bkpjc4fmdn10zq70q3bvixx25yn13ihxygsdi1mjmn30fh"
+   "commit": "95b0b37cf5bb6474f054056b0dad9402c700c5b7",
+   "sha256": "09xiabicada3ziyinlc9fczcdy2nr01fn3fqlq1vpjzb5882k63l"
   }
  },
  {
@@ -111670,10 +111902,10 @@
  },
  {
   "ename": "xresources-theme",
-  "commit": "35763febad20f29320d459394f810668db6c3353",
-  "sha256": "1vsbvg9w5g6y2qlb8ssn12ax31r7fbslfi9vcgvmjydcr8r1z0zs",
+  "commit": "8ff729d95709a9e0f458e54dbdab4724ca3c09f3",
+  "sha256": "0n359mjv4j6n002v5bimas77y1507x1797qj6l1kcdwym8pk0rvg",
   "fetcher": "github",
-  "repo": "cqql/xresources-theme",
+  "repo": "martenlienen/xresources-theme",
   "unstable": {
    "version": [
     20190108,
@@ -111960,20 +112192,20 @@
   "repo": "zkry/yaml.el",
   "unstable": {
    "version": [
-    20210604,
-    1500
+    20210625,
+    528
    ],
-   "commit": "5b352258f50ec9d2e7ff8bd16323a24fb484b52b",
-   "sha256": "1zaj7w0jfzz7iwsnd8ql3pxgiw108dx0ggk2q5rqxdz5902hksqs"
+   "commit": "69c699a15af342199d0dbbbe7676a85487781ae7",
+   "sha256": "1j1yqpnpn5k17jnrax56and4yss1bimxck3zigbgy5fpng89l8sb"
   },
   "stable": {
    "version": [
     0,
     3,
-    2
+    3
    ],
-   "commit": "5b352258f50ec9d2e7ff8bd16323a24fb484b52b",
-   "sha256": "1zaj7w0jfzz7iwsnd8ql3pxgiw108dx0ggk2q5rqxdz5902hksqs"
+   "commit": "9382bf5a3b1cad1c404bfd13fab8cf6688fe8442",
+   "sha256": "0xm6c4lk62ifwpc03wmn6602r1izfbk9kpyv3wg3p8ksxllvd0ns"
   }
  },
  {
@@ -112095,11 +112327,11 @@
   "repo": "Kungsgeten/yankpad",
   "unstable": {
    "version": [
-    20210205,
-    1318
+    20210625,
+    1951
    ],
-   "commit": "fb9cb7753af971701dcd96a51efb4d70e2b2a18f",
-   "sha256": "1xaal77cqics6fdm51j7pm12k61v0qxg68krgb7yi1fd90fm2iy3"
+   "commit": "6f5c7e5171030663ebda4f1f872c30d0e165b6b7",
+   "sha256": "08f5qn1dsikv9dkdvdrb8mmjb3himlnh9bcany2w4pj0apgcwn4d"
   },
   "stable": {
    "version": [
@@ -112218,11 +112450,11 @@
   "repo": "emacsorphanage/yascroll",
   "unstable": {
    "version": [
-    20210427,
-    645
+    20210625,
+    803
    ],
-   "commit": "bd20a61ab7cd610625137c051c7f15e7404b7829",
-   "sha256": "0mxl8qxj9vdr8cg9xkh2v901n8m1drk0wzf4di34vkgkmrlkigyg"
+   "commit": "0ddf70ec214e2b1fade0594ec44c55adb48c06da",
+   "sha256": "1mkk07j3bayzprimiq95blbyj7idl01p6jv43hh226r427c89bcs"
   },
   "stable": {
    "version": [
@@ -112348,11 +112580,11 @@
   "url": "https://www.yatex.org/hgrepos/yatex",
   "unstable": {
    "version": [
-    20200208,
-    931
+    20210630,
+    2200
    ],
-   "commit": "f4c2dca86202c2da5b4f0f6ec97c49dd1cb01e6c",
-   "sha256": "1dh4i2dj2cfg693bvwdi4frmi2892h4q25xdacdm63c7fmn3ap6l"
+   "commit": "d4831b3672f87affbb0f7f69135e7824d0bd325b",
+   "sha256": "0fga8zicxgmfw4px2zwfvwycl9hcqcwnf65izrbrj6rrljdbb3yv"
   }
  },
  {
@@ -112581,11 +112813,11 @@
   "repo": "ryuslash/yoshi-theme",
   "unstable": {
    "version": [
-    20210509,
-    520
+    20210623,
+    544
    ],
-   "commit": "9a26f361083ed1d0dd56e659fae913ffea51c739",
-   "sha256": "1da39wyb8zhpyvqxld19cna0jdjhpdiwsmac6ari7nw8i8dvbbhw"
+   "commit": "4aa2a0d0c3e3b7c408d680df8cc5ede53c18e923",
+   "sha256": "0psb3ff0f0wia7vmxqhframl8vnyzk6xx3dmv1g1j7b0njk259ij"
   },
   "stable": {
    "version": [
@@ -113121,14 +113353,14 @@
   "repo": "nnicandro/emacs-zmq",
   "unstable": {
    "version": [
-    20210424,
-    1943
+    20210613,
+    343
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "790033363cf0e78c616cfe117a2f681381e96f29",
-   "sha256": "0vssi5d02s7f9rhsgqnbh4ql2nvjcc4hsrmihwrk1ij50pn927yj"
+   "commit": "38dc6c4119aee57666caf8f97c8a3d7f678823e0",
+   "sha256": "0j7szww8fi2pyvln1bppyq8nly0vkbncz63kzqhi1zx7dfz127ry"
   },
   "stable": {
    "version": [
diff --git a/nixpkgs/pkgs/applications/editors/greenfoot/default.nix b/nixpkgs/pkgs/applications/editors/greenfoot/default.nix
index 34f489bfba3e..962710be2f50 100644
--- a/nixpkgs/pkgs/applications/editors/greenfoot/default.nix
+++ b/nixpkgs/pkgs/applications/editors/greenfoot/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "greenfoot";
-  version = "3.6.1";
+  version = "3.7.0";
   src = fetchurl {
     # We use the deb here. First instinct might be to go for the "generic" JAR
     # download, but that is actually a graphical installer that is much harder
     # to unpack than the deb.
     url = "https://www.greenfoot.org/download/files/Greenfoot-linux-${builtins.replaceStrings ["."] [""] version}.deb";
-    sha256 = "112h6plpclj8kbv093m4pcczljhpd8d47d7a2am1yfgbyckx6hf0";
+    sha256 = "sha256-K9faU3ZarcR4g8riHpoZYVH0sXtueqfm3Fo+sZAHJA8=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/editors/helix/default.nix b/nixpkgs/pkgs/applications/editors/helix/default.nix
new file mode 100644
index 000000000000..a36ff1cde464
--- /dev/null
+++ b/nixpkgs/pkgs/applications/editors/helix/default.nix
@@ -0,0 +1,25 @@
+{ fetchFromGitHub, lib, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "helix";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    owner = "helix-editor";
+    repo = pname;
+    rev = "v${version}";
+    fetchSubmodules = true;
+    sha256 = "sha256-dI5yIP5uUmM9pyMpvvdrk8/0jE/REkU/m9BF081LwMU=";
+  };
+
+  cargoSha256 = "sha256-l3Ikr4IyUsHItJIC4BaIZZb6vio3bchumbbPI+nxIjQ=";
+
+  cargoBuildFlags = [ "--features embed_runtime" ];
+
+  meta = with lib; {
+    description = "A post-modern modal text editor";
+    homepage = "https://helix-editor.com";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ yusdacra ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/editors/jetbrains/common.nix b/nixpkgs/pkgs/applications/editors/jetbrains/common.nix
index dcbaa136795a..2e244364dc7e 100644
--- a/nixpkgs/pkgs/applications/editors/jetbrains/common.nix
+++ b/nixpkgs/pkgs/applications/editors/jetbrains/common.nix
@@ -38,7 +38,7 @@ with stdenv; lib.makeOverridable mkDerivation rec {
 
   nativeBuildInputs = [ makeWrapper patchelf unzip ];
 
-  patchPhase = lib.optionalString (!stdenv.isDarwin) ''
+  postPatch = lib.optionalString (!stdenv.isDarwin) ''
       get_file_size() {
         local fname="$1"
         echo $(ls -l $fname | cut -d ' ' -f5)
@@ -64,6 +64,8 @@ with stdenv; lib.makeOverridable mkDerivation rec {
   '';
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/{bin,$name,share/pixmaps,libexec/${name}}
     cp -a . $out/$name
     ln -s $out/$name/bin/${loName}.png $out/share/pixmaps/${mainProgram}.png
@@ -86,6 +88,8 @@ with stdenv; lib.makeOverridable mkDerivation rec {
       --set ${hiName}_VM_OPTIONS ${vmoptsFile}
 
     ln -s "$item/share/applications" $out/share
+
+    runHook postInstall
   '';
 
 } // lib.optionalAttrs (!(meta.license.free or true)) {
diff --git a/nixpkgs/pkgs/applications/editors/jetbrains/default.nix b/nixpkgs/pkgs/applications/editors/jetbrains/default.nix
index 38ea3054a60d..4370e9af3eba 100644
--- a/nixpkgs/pkgs/applications/editors/jetbrains/default.nix
+++ b/nixpkgs/pkgs/applications/editors/jetbrains/default.nix
@@ -193,7 +193,7 @@ let
         platforms = platforms.linux;
       };
     }).overrideAttrs (attrs: {
-      patchPhase = lib.optionalString (!stdenv.isDarwin) (attrs.patchPhase + ''
+      postPatch = lib.optionalString (!stdenv.isDarwin) (attrs.postPatch + ''
         rm -rf lib/ReSharperHost/linux-x64/dotnet
         mkdir -p lib/ReSharperHost/linux-x64/dotnet/
         ln -s ${dotnet-sdk_5}/bin/dotnet lib/ReSharperHost/linux-x64/dotnet/dotnet
@@ -229,7 +229,7 @@ let
         platforms = platforms.linux;
       };
     }).overrideAttrs (attrs: {
-      patchPhase = (attrs.patchPhase or "") + optionalString (stdenv.isLinux) ''
+      postPatch = (attrs.postPatch or "") + optionalString (stdenv.isLinux) ''
         # Webstorm tries to use bundled jre if available.
         # Lets prevent this for the moment
         rm -r jbr
@@ -255,12 +255,12 @@ in
 
   datagrip = buildDataGrip rec {
     name = "datagrip-${version}";
-    version = "2021.1.2"; /* updated by script */
+    version = "2021.1.3"; /* updated by script */
     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 = "1znb4m7sv7xqi1mq3yw0m51m06wfwmhhxmvck0xkv8s0cfg18qim"; /* updated by script */
+      sha256 = "0lhi3vwhwb359va4sa17y071i03l4mfwqpsp7haqxjf900dcld7d"; /* updated by script */
     };
     wmClass = "jetbrains-datagrip";
     update-channel = "DataGrip RELEASE";
@@ -268,12 +268,12 @@ in
 
   goland = buildGoland rec {
     name = "goland-${version}";
-    version = "2021.1.2"; /* updated by script */
+    version = "2021.1.3"; /* updated by script */
     description = "Up and Coming Go IDE";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/go/${name}.tar.gz";
-      sha256 = "0g20r7yn4r2h08wv3i8bnnma8x4jljixsbmfml8kixk0pzfhv4px"; /* updated by script */
+      sha256 = "0xy9k90v3kcm9sj48l809qn0vws4ygsxxyqwsg6y9a3r1raqgqxd"; /* updated by script */
     };
     wmClass = "jetbrains-goland";
     update-channel = "GoLand RELEASE";
@@ -281,12 +281,12 @@ in
 
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
-    version = "2021.1.2"; /* updated by script */
+    version = "2021.1.3"; /* updated by script */
     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 = "03i5f6p0abr9yfs9fg90fg7hb1a7zar9q4d4iiag30cmndwpslg2"; /* updated by script */
+      sha256 = "1phpfa9i3k7g92ankmibp53c1469ifnb12g6s8gklln7v7xxakmi"; /* updated by script */
     };
     wmClass = "jetbrains-idea-ce";
     update-channel = "IntelliJ IDEA RELEASE";
@@ -294,12 +294,12 @@ in
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "2021.1.2"; /* updated by script */
+    version = "2021.1.3"; /* updated by script */
     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 = "0mw4acaik1bkr7gqbwgs3i8f8px8zw95hm1zxgd5gd5kh88n17x5"; /* updated by script */
+      sha256 = "13c7a96zbw05w1gy4ds4wzac853hdlnbflww2xaz60jnr1k24gnp"; /* updated by script */
     };
     wmClass = "jetbrains-idea";
     update-channel = "IntelliJ IDEA RELEASE";
@@ -320,12 +320,12 @@ in
 
   phpstorm = buildPhpStorm rec {
     name = "phpstorm-${version}";
-    version = "2021.1.3"; /* updated by script */
+    version = "2021.1.4"; /* updated by script */
     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 = "05hjv1nz1b82bkakadjvsy23v0qv8fyni6h31lcg9198h1890f7v"; /* updated by script */
+      sha256 = "0p9a8l2bpjm25x4af1hlqhmw5xsirsfajznd6y723yqmjy8hs46l"; /* updated by script */
     };
     wmClass = "jetbrains-phpstorm";
     update-channel = "PhpStorm RELEASE";
@@ -333,12 +333,12 @@ in
 
   pycharm-community = buildPycharm rec {
     name = "pycharm-community-${version}";
-    version = "2021.1.2"; /* updated by script */
+    version = "2021.1.3"; /* updated by script */
     description = "PyCharm Community Edition";
     license = lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "0sp7w1xrl0y36dai08kqfd0jk06yr7jdbaf1a9f3fgxp5pmspxp1"; /* updated by script */
+      sha256 = "0c03grsrjydb6jcnbq1qi4158c14vni3znr7vysnbvldi8al6w8m"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm-ce";
     update-channel = "PyCharm RELEASE";
@@ -346,12 +346,12 @@ in
 
   pycharm-professional = buildPycharm rec {
     name = "pycharm-professional-${version}";
-    version = "2021.1.2"; /* updated by script */
+    version = "2021.1.3"; /* updated by script */
     description = "PyCharm Professional Edition";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "0ny7rbl8g5azpqnlcq8l6bwh6hrp8rgp06lf4a8gdr9rpvw9xsqb"; /* updated by script */
+      sha256 = "01nwc9nprlyrwyij98px915w66g6vxbznsmmmg56rv3rvjvjp7yl"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm";
     update-channel = "PyCharm RELEASE";
diff --git a/nixpkgs/pkgs/applications/editors/jetbrains/update.pl b/nixpkgs/pkgs/applications/editors/jetbrains/update.pl
index cd3d2193a283..7656581a8b4f 100755
--- a/nixpkgs/pkgs/applications/editors/jetbrains/update.pl
+++ b/nixpkgs/pkgs/applications/editors/jetbrains/update.pl
@@ -6,6 +6,8 @@ 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;
@@ -14,7 +16,7 @@ sub semantic_less {
 }
 
 sub get_latest_versions {
-  my @channels = get("http://www.jetbrains.com/updates/updates.xml") =~ /(<channel .+?<\/channel>)/gs;
+  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="([^"]+)"/;
@@ -55,13 +57,15 @@ sub update_nix_block {
       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 {
         print("updating $channel: $version -> $latest_versions{$channel}\n");
         my ($url) = $block =~ /url\s*=\s*"([^"]+)"/;
         # try to interpret some nix
         my ($name) = $block =~ /name\s*=\s*"([^"]+)"/;
         $name =~ s/\$\{version\}/$latest_versions{$channel}/;
-        # Some url paattern contain variables more than once
+        # Some url pattern contain variables more than once
         $url =~ s/\$\{name\}/$name/g;
         $url =~ s/\$\{version\}/$latest_versions{$channel}/g;
         die "$url still has some interpolation" if $url =~ /\$/;
diff --git a/nixpkgs/pkgs/applications/editors/neovim/default.nix b/nixpkgs/pkgs/applications/editors/neovim/default.nix
index 1b4835064f96..bfa7e8e2009d 100644
--- a/nixpkgs/pkgs/applications/editors/neovim/default.nix
+++ b/nixpkgs/pkgs/applications/editors/neovim/default.nix
@@ -2,6 +2,7 @@
 , libuv, lua, ncurses, pkg-config
 , unibilium, xsel, gperf
 , libvterm-neovim
+, tree-sitter
 , glibcLocales ? null, procps ? null
 
 # now defaults to false because some tests can be flaky (clipboard etc)
@@ -31,13 +32,13 @@ let
 in
   stdenv.mkDerivation rec {
     pname = "neovim-unwrapped";
-    version = "0.4.4";
+    version = "0.5.0";
 
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "neovim";
       rev = "v${version}";
-      sha256 = "11zyj6jvkwas3n6w1ckj3pk6jf81z1g7ngg4smmwm7c27y2a6f2m";
+      sha256 = "0lgbf90sbachdag1zm9pmnlbn35964l3khs27qy4462qzpqyi9fi";
     };
 
     patches = [
@@ -58,6 +59,7 @@ in
       msgpack
       ncurses
       neovimLuaEnv
+      tree-sitter
       unibilium
     ] ++ optional stdenv.isDarwin libiconv
       ++ optionals doCheck [ glibcLocales procps ]
@@ -96,6 +98,7 @@ in
       "-DGPERF_PRG=${gperf}/bin/gperf"
       "-DLUA_PRG=${neovimLuaEnv.interpreter}"
       "-DLIBLUV_LIBRARY=${luvpath}"
+      "-DUSE_BUNDLED=OFF"
     ]
     ++ optional doCheck "-DBUSTED_PRG=${neovimLuaEnv}/bin/busted"
     ++ optional (!lua.pkgs.isLuaJIT) "-DPREFER_LUA=ON"
diff --git a/nixpkgs/pkgs/applications/editors/quartus-prime/default.nix b/nixpkgs/pkgs/applications/editors/quartus-prime/default.nix
index 96a543f3cb58..773b1f278e0f 100644
--- a/nixpkgs/pkgs/applications/editors/quartus-prime/default.nix
+++ b/nixpkgs/pkgs/applications/editors/quartus-prime/default.nix
@@ -1,99 +1,9 @@
-{ buildFHSUserEnv, makeDesktopItem, writeScript, stdenv, lib, requireFile, unstick,
-  supportedDevices ? [ "Arria II" "Cyclone V" "Cyclone IV" "Cyclone 10 LP" "MAX II/V" "MAX 10 FPGA" ] }:
+{ stdenv, lib, buildFHSUserEnv, callPackage, makeDesktopItem, writeScript
+, supportedDevices ? [ "Arria II" "Cyclone V" "Cyclone IV" "Cyclone 10 LP" "MAX II/V" "MAX 10 FPGA" ]
+, unwrapped ? callPackage ./quartus.nix { inherit supportedDevices; }
+}:
 
 let
-  deviceIds = {
-    "Arria II" = "arria_lite";
-    "Cyclone V" = "cyclonev";
-    "Cyclone IV" = "cyclone";
-    "Cyclone 10 LP" = "cyclone10lp";
-    "MAX II/V" = "max";
-    "MAX 10 FPGA" = "max10";
-  };
-
-  supportedDeviceIds =
-    assert lib.assertMsg (lib.all (name: lib.hasAttr name deviceIds) supportedDevices)
-      "Supported devices are: ${lib.concatStringsSep ", " (lib.attrNames deviceIds)}";
-    lib.listToAttrs (map (name: {
-      inherit name;
-      value = deviceIds.${name};
-    }) supportedDevices);
-
-  unsupportedDeviceIds = lib.filterAttrs (name: value:
-    !(lib.hasAttr name supportedDeviceIds)
-  ) deviceIds;
-
-  quartus = stdenv.mkDerivation rec {
-    version = "20.1.0.711";
-    pname = "quartus-prime-lite-unwrapped";
-
-    src = let
-      require = {name, sha256}: requireFile {
-        inherit name sha256;
-        url = "${meta.homepage}/${lib.versions.majorMinor version}/?edition=lite&platform=linux";
-      };
-
-      hashes = {
-        "arria_lite" = "09g2knq23h3vj0s5y7hsdnqbbkr3pnv53dzpqcw2lq9mb5zfs9r0";
-        "cyclonev" = "05hrpysasyfb7xhxg68spdffxyvxcx0iagibd5jz643b7n6aalpa";
-        "cyclone" = "1x3rnwsvzrb5kwdz35sbcabxmcvj8xxpnjlpcjwfc69ybiyr6sgz";
-        "cyclone10lp" = "1x6d4hm697mjgzaxixrw5va8anr6ihhx96x2524r6axpwqf6wcja";
-        "max" = "060b7v0xh86kkjyiix7akfkzhx2kl1b3q117kp7xibnz6yrzwmy3";
-        "max10" = "05840l9pmqa4i1b3ajfaxkqz1hppls556vbq16a42acz2qs2g578";
-      };
-
-      devicePackages = map (id: {
-        name = "${id}-${version}.qdz";
-        sha256 = lib.getAttr id hashes;
-      }) (lib.attrValues supportedDeviceIds);
-    in map require ([{
-      name = "QuartusLiteSetup-${version}-linux.run";
-      sha256 = "07ssrv8p8kacal6xd80n4h7l5xz13aw1m1gfqqaxig0ivsj971z5";
-    } {
-      name = "ModelSimSetup-${version}-linux.run";
-      sha256 = "0smxasrmr1c8k6hy378knskpjmz4cgpgb35v5jclns0kx68y3c42";
-    }] ++ devicePackages);
-
-    nativeBuildInputs = [ unstick ];
-
-    buildCommand = let
-      installers = lib.sublist 0 2 src;
-      components = lib.sublist 2 ((lib.length src) - 2) src;
-      copyInstaller = installer: ''
-        # `$(cat $NIX_CC/nix-support/dynamic-linker) $src[0]` often segfaults, so cp + patchelf
-        cp ${installer} $TEMP/${installer.name}
-        chmod u+w,+x $TEMP/${installer.name}
-        patchelf --interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $TEMP/${installer.name}
-      '';
-      copyComponent = component: "cp ${component} $TEMP/${component.name}";
-      # leaves enabled: quartus, modelsim_ase, devinfo
-      disabledComponents = [
-        "quartus_help"
-        "quartus_update"
-        # not modelsim_ase
-        "modelsim_ae"
-      ] ++ (lib.attrValues unsupportedDeviceIds);
-    in ''
-      ${lib.concatMapStringsSep "\n" copyInstaller installers}
-      ${lib.concatMapStringsSep "\n" copyComponent components}
-
-      unstick $TEMP/${(builtins.head installers).name} \
-        --disable-components ${lib.concatStringsSep "," disabledComponents} \
-        --mode unattended --installdir $out --accept_eula 1
-
-      rm -r $out/uninstall $out/logs
-    '';
-
-    meta = {
-      homepage = "https://fpgasoftware.intel.com";
-      description = "FPGA design and simulation software";
-      license = lib.licenses.unfree;
-      platforms = lib.platforms.linux;
-      hydraPlatforms = [ ]; # requireFile srcs cannot be fetched by hydra, ignore
-      maintainers = with lib.maintainers; [ kwohlfahrt ];
-    };
-  };
-
   desktopItem = makeDesktopItem {
     name = "quartus-prime-lite";
     exec = "quartus";
@@ -102,7 +12,6 @@ let
     genericName = "Quartus Prime";
     categories = "Development;";
   };
-
 # I think modelsim_ase/linux/vlm checksums itself, so use FHSUserEnv instead of `patchelf`
 in buildFHSUserEnv rec {
   name = "quartus-prime-lite"; # wrapped
@@ -136,9 +45,7 @@ in buildFHSUserEnv rec {
     xorg.libXrender
   ];
 
-  passthru = {
-    unwrapped = quartus;
-  };
+  passthru = { inherit unwrapped; };
 
   extraInstallCommands = let
     quartusExecutables = (map (c: "quartus/bin/quartus_${c}") [
@@ -156,14 +63,14 @@ in buildFHSUserEnv rec {
   in ''
     mkdir -p $out/share/applications $out/share/icons/128x128
     ln -s ${desktopItem}/share/applications/* $out/share/applications
-    ln -s ${quartus}/licenses/images/dc_quartus_panel_logo.png $out/share/icons/128x128/quartus.png
+    ln -s ${unwrapped}/licenses/images/dc_quartus_panel_logo.png $out/share/icons/128x128/quartus.png
 
     mkdir -p $out/quartus/bin $out/quartus/sopc_builder/bin $out/modelsim_ase/bin
     WRAPPER=$out/bin/${name}
     EXECUTABLES="${lib.concatStringsSep " " (quartusExecutables ++ qsysExecutables ++ modelsimExecutables)}"
     for executable in $EXECUTABLES; do
         echo "#!${stdenv.shell}" >> $out/$executable
-        echo "$WRAPPER ${quartus}/$executable \$@" >> $out/$executable
+        echo "$WRAPPER ${unwrapped}/$executable \$@" >> $out/$executable
     done
 
     cd $out
diff --git a/nixpkgs/pkgs/applications/editors/quartus-prime/quartus.nix b/nixpkgs/pkgs/applications/editors/quartus-prime/quartus.nix
new file mode 100644
index 000000000000..9475f4417031
--- /dev/null
+++ b/nixpkgs/pkgs/applications/editors/quartus-prime/quartus.nix
@@ -0,0 +1,97 @@
+{ stdenv, lib, unstick, requireFile
+, supportedDevices ? [ "Arria II" "Cyclone V" "Cyclone IV" "Cyclone 10 LP" "MAX II/V" "MAX 10 FPGA" ]
+}:
+
+let
+  deviceIds = {
+    "Arria II" = "arria_lite";
+    "Cyclone V" = "cyclonev";
+    "Cyclone IV" = "cyclone";
+    "Cyclone 10 LP" = "cyclone10lp";
+    "MAX II/V" = "max";
+    "MAX 10 FPGA" = "max10";
+  };
+
+  supportedDeviceIds =
+    assert lib.assertMsg (lib.all (name: lib.hasAttr name deviceIds) supportedDevices)
+      "Supported devices are: ${lib.concatStringsSep ", " (lib.attrNames deviceIds)}";
+    lib.listToAttrs (map (name: {
+      inherit name;
+      value = deviceIds.${name};
+    }) supportedDevices);
+
+  unsupportedDeviceIds = lib.filterAttrs (name: value:
+    !(lib.hasAttr name supportedDeviceIds)
+  ) deviceIds;
+
+  componentHashes = {
+    "arria_lite" = "140jqnb97vrxx6398cpgpw35zrrx3z5kv1x5gr9is1xdbnf4fqhy";
+    "cyclone" = "116kf69ryqcmlc2k8ra0v32jy7nrk7w4s5z3yll7h3c3r68xcsfr";
+    "cyclone10lp" = "07wpgx9bap6rlr5bcmr9lpsxi3cy4yar4n3pxfghazclzqfi2cyl";
+    "cyclonev" = "11baa9zpmmfkmyv33w1r57ipf490gnd3dpi2daripf38wld8lgak";
+    "max" = "1zy2d42dqmn97fwmv4x6pmihh4m23jypv3nd830m1mj7jkjx9kcq";
+    "max10" = "1hvi9cpcjgbih3l6nh8x1vsp0lky5ax85jb2yqmzla80n7dl9ahs";
+  };
+
+  version = "20.1.1.720";
+  homepage = "https://fpgasoftware.intel.com";
+
+  require = {name, sha256}: requireFile {
+    inherit name sha256;
+    url = "${homepage}/${lib.versions.majorMinor version}/?edition=lite&platform=linux";
+  };
+
+in stdenv.mkDerivation rec {
+  inherit version;
+  pname = "quartus-prime-lite-unwrapped";
+
+  src = map require ([{
+    name = "QuartusLiteSetup-${version}-linux.run";
+    sha256 = "0mjp1rg312dipr7q95pb4nf4b8fwvxgflnd1vafi3g9cshbb1c3k";
+  } {
+    name = "ModelSimSetup-${version}-linux.run";
+    sha256 = "1cqgv8x6vqga8s4v19yhmgrr886rb6p7sbx80528df5n4rpr2k4i";
+  }] ++ (map (id: {
+    name = "${id}-${version}.qdz";
+    sha256 = lib.getAttr id componentHashes;
+  }) (lib.attrValues supportedDeviceIds)));
+
+  nativeBuildInputs = [ unstick ];
+
+  buildCommand = let
+    installers = lib.sublist 0 2 src;
+    components = lib.sublist 2 ((lib.length src) - 2) src;
+    copyInstaller = installer: ''
+        # `$(cat $NIX_CC/nix-support/dynamic-linker) $src[0]` often segfaults, so cp + patchelf
+        cp ${installer} $TEMP/${installer.name}
+        chmod u+w,+x $TEMP/${installer.name}
+        patchelf --interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $TEMP/${installer.name}
+      '';
+    copyComponent = component: "cp ${component} $TEMP/${component.name}";
+    # leaves enabled: quartus, modelsim_ase, devinfo
+    disabledComponents = [
+      "quartus_help"
+      "quartus_update"
+      # not modelsim_ase
+      "modelsim_ae"
+    ] ++ (lib.attrValues unsupportedDeviceIds);
+  in ''
+      ${lib.concatMapStringsSep "\n" copyInstaller installers}
+      ${lib.concatMapStringsSep "\n" copyComponent components}
+
+      unstick $TEMP/${(builtins.head installers).name} \
+        --disable-components ${lib.concatStringsSep "," disabledComponents} \
+        --mode unattended --installdir $out --accept_eula 1
+
+      rm -r $out/uninstall $out/logs
+    '';
+
+  meta = with lib; {
+    inherit homepage;
+    description = "FPGA design and simulation software";
+    license = licenses.unfree;
+    platforms = platforms.linux;
+    hydraPlatforms = [ ]; # requireFile srcs cannot be fetched by hydra, ignore
+    maintainers = with maintainers; [ kwohlfahrt ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/editors/spacevim/default.nix b/nixpkgs/pkgs/applications/editors/spacevim/default.nix
index 661bec463a78..9f6f895efac4 100644
--- a/nixpkgs/pkgs/applications/editors/spacevim/default.nix
+++ b/nixpkgs/pkgs/applications/editors/spacevim/default.nix
@@ -1,8 +1,19 @@
-{ ripgrep, git, fzf, makeWrapper, vim_configurable, vimPlugins, fetchFromGitHub
-, lib, stdenv, formats, runCommand, spacevim_config ? import ./init.nix }:
+{ ripgrep
+, git
+, fzf
+, makeWrapper
+, vim_configurable
+, vimPlugins
+, fetchFromGitHub
+, lib
+, stdenv
+, formats
+, runCommand
+, spacevim_config ? import ./init.nix
+}:
 
 let
-  format = formats.toml {};
+  format = formats.toml { };
   vim-customized = vim_configurable.customize {
     name = "vim";
     # Not clear at the moment how to import plugins such that
@@ -14,17 +25,18 @@ let
     mkdir -p $out
     cp ${format.generate "init.toml" spacevim_config} $out/init.toml
   '';
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
   pname = "spacevim";
-  version = "1.6.0";
+  version = "1.7.0";
   src = fetchFromGitHub {
     owner = "SpaceVim";
     repo = "SpaceVim";
     rev = "v${version}";
-    sha256 = "sha256-QQdtjEdbuzmf0Rw+u2ZltLihnJt8LqkfTrLDWLAnCLE=";
+    sha256 = "sha256-TmfPeaGkH1Wq2b5lB29PUYDVddJVN3mBuPAmu9EtiGY=";
   };
 
-  nativeBuildInputs = [ makeWrapper vim-customized];
+  nativeBuildInputs = [ makeWrapper vim-customized ];
   buildInputs = [ vim-customized ];
 
   buildPhase = ''
diff --git a/nixpkgs/pkgs/applications/editors/vscode/generic.nix b/nixpkgs/pkgs/applications/editors/vscode/generic.nix
index 56a81f21febb..d9a4ed2a8948 100644
--- a/nixpkgs/pkgs/applications/editors/vscode/generic.nix
+++ b/nixpkgs/pkgs/applications/editors/vscode/generic.nix
@@ -10,6 +10,9 @@
 # Attributes inherit from specific versions
 , version, src, meta, sourceRoot
 , executableName, longName, shortName, pname, updateScript
+# sourceExecutableName is the name of the binary in the source archive, over
+# which we have no control
+, sourceExecutableName ? executableName
 }:
 
 let
@@ -77,12 +80,12 @@ let
     '' + (if system == "x86_64-darwin" then ''
       mkdir -p "$out/Applications/${longName}.app" $out/bin
       cp -r ./* "$out/Applications/${longName}.app"
-      ln -s "$out/Applications/${longName}.app/Contents/Resources/app/bin/${executableName}" $out/bin/${executableName}
+      ln -s "$out/Applications/${longName}.app/Contents/Resources/app/bin/${sourceExecutableName}" $out/bin/${executableName}
     '' else ''
       mkdir -p $out/lib/vscode $out/bin
       cp -r ./* $out/lib/vscode
 
-      ln -s $out/lib/vscode/bin/${executableName} $out/bin
+      ln -s $out/lib/vscode/bin/${sourceExecutableName} $out/bin/${executableName}
 
       mkdir -p $out/share/applications
       ln -s $desktopItem/share/applications/${executableName}.desktop $out/share/applications/${executableName}.desktop
diff --git a/nixpkgs/pkgs/applications/editors/vscode/vscode.nix b/nixpkgs/pkgs/applications/editors/vscode/vscode.nix
index 1a4b3e6c0616..85804f3bf2fc 100644
--- a/nixpkgs/pkgs/applications/editors/vscode/vscode.nix
+++ b/nixpkgs/pkgs/applications/editors/vscode/vscode.nix
@@ -25,6 +25,7 @@ in
     version = "1.57.1";
     pname = "vscode";
 
+    sourceExecutableName = "code";
     executableName = "code" + lib.optionalString isInsiders "-insiders";
     longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders";
     shortName = "Code" + lib.optionalString isInsiders " - Insiders";
diff --git a/nixpkgs/pkgs/applications/gis/grass/default.nix b/nixpkgs/pkgs/applications/gis/grass/default.nix
index ef7458d7394c..09c1fddbda21 100644
--- a/nixpkgs/pkgs/applications/gis/grass/default.nix
+++ b/nixpkgs/pkgs/applications/gis/grass/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ flex bison zlib proj gdal libtiff libpng fftw sqlite cairo proj
   readline ffmpeg_3 makeWrapper wxGTK30 netcdf geos postgresql libmysqlclient blas
   libLAS proj-datumgrid ]
-    ++ (with python2Packages; [ python dateutil wxPython30 numpy ]);
+    ++ (with python2Packages; [ python python-dateutil wxPython30 numpy ]);
 
   # On Darwin the installer tries to symlink the help files into a system
   # directory
diff --git a/nixpkgs/pkgs/applications/gis/qgis/unwrapped.nix b/nixpkgs/pkgs/applications/gis/qgis/unwrapped.nix
index 2ebe0ac253fe..3ed11aa8b706 100644
--- a/nixpkgs/pkgs/applications/gis/qgis/unwrapped.nix
+++ b/nixpkgs/pkgs/applications/gis/qgis/unwrapped.nix
@@ -12,7 +12,7 @@ let
     numpy
     psycopg2
     chardet
-    dateutil
+    python-dateutil
     pyyaml
     pytz
     requests
diff --git a/nixpkgs/pkgs/applications/graphics/ImageMagick/6.x.nix b/nixpkgs/pkgs/applications/graphics/ImageMagick/6.x.nix
index 5fea254ce08d..4ac4af48aab8 100644
--- a/nixpkgs/pkgs/applications/graphics/ImageMagick/6.x.nix
+++ b/nixpkgs/pkgs/applications/graphics/ImageMagick/6.x.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, pkg-config, libtool
 , bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg, djvulibre
-, lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp, fftw, libheif, libde265
+, lcms2, openexr, libpng, liblqr1, librsvg, libtiff, libxml2, openjpeg, libwebp, fftw, libheif, libde265
 , ApplicationServices, Foundation
 }:
 
@@ -34,6 +34,7 @@ stdenv.mkDerivation rec {
     [ "--with-frozenpaths" ]
     ++ (if arch != null then [ "--with-gcc-arch=${arch}" ] else [ "--without-gcc-arch" ])
     ++ lib.optional (librsvg != null) "--with-rsvg"
+    ++ lib.optional (liblqr1 != null) "--with-lqr"
     ++ lib.optionals (ghostscript != null)
       [ "--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts"
         "--with-gslib"
@@ -46,7 +47,7 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ zlib fontconfig freetype ghostscript
-      libpng libtiff libxml2 libheif libde265 djvulibre
+      liblqr1 libpng libtiff libxml2 libheif libde265 djvulibre
     ]
     ++ lib.optionals (!stdenv.hostPlatform.isMinGW)
       [ openexr librsvg openjpeg ]
diff --git a/nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix b/nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix
index e2fdb19127dc..0fd76235f528 100644
--- a/nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix
+++ b/nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, pkg-config, libtool
 , bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg, djvulibre
-, lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp, libheif
+, lcms2, openexr, libpng, liblqr1, librsvg, libtiff, libxml2, openjpeg, libwebp, libheif
 , ApplicationServices
 , Foundation
 , testVersion, imagemagick
@@ -18,13 +18,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "imagemagick";
-  version = "7.1.0-0";
+  version = "7.1.0-2";
 
   src = fetchFromGitHub {
     owner = "ImageMagick";
     repo = "ImageMagick";
     rev = version;
-    sha256 = "sha256-TmyJMzj5tHMrVm6xRguZmXIg7c6mHmqusMMdJAHNqNg=";
+    sha256 = "sha256-0nTz9UBspROrNj72amyZmFYK/y9Xg4+qNt4raZiK3AI=";
   };
 
   outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
     [ "--with-frozenpaths" ]
     ++ (if arch != null then [ "--with-gcc-arch=${arch}" ] else [ "--without-gcc-arch" ])
     ++ lib.optional (librsvg != null) "--with-rsvg"
+    ++ lib.optional (liblqr1 != null) "--with-lqr"
     ++ lib.optionals (ghostscript != null)
       [ "--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts"
         "--with-gslib"
@@ -48,7 +49,7 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ zlib fontconfig freetype ghostscript
-      libpng libtiff libxml2 libheif djvulibre
+      liblqr1 libpng libtiff libxml2 libheif djvulibre
     ]
     ++ lib.optionals (!stdenv.hostPlatform.isMinGW)
       [ openexr librsvg openjpeg ]
@@ -84,7 +85,7 @@ stdenv.mkDerivation rec {
     homepage = "http://www.imagemagick.org/";
     description = "A software suite to create, edit, compose, or convert bitmap images";
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ erictapen ];
+    maintainers = with maintainers; [ erictapen dotlambda ];
     license = licenses.asl20;
     mainProgram = "magick";
   };
diff --git a/nixpkgs/pkgs/applications/graphics/avocode/default.nix b/nixpkgs/pkgs/applications/graphics/avocode/default.nix
index 6cd07fd373f8..8100824b3743 100644
--- a/nixpkgs/pkgs/applications/graphics/avocode/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/avocode/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "avocode";
-  version = "4.14.3";
+  version = "4.15.0";
 
   src = fetchurl {
     url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip";
-    sha256 = "sha256-6OEgSnW96jufc/Z+B17ghtAbj9SLulue26ffKREGzbY=";
+    sha256 = "sha256-Au1m7CfZkeOczcO/JvIzyVCp6Gn/nhSq0yJOdP8i+0w=";
   };
 
   libPath = lib.makeLibraryPath (with xorg; [
diff --git a/nixpkgs/pkgs/applications/graphics/darktable/default.nix b/nixpkgs/pkgs/applications/graphics/darktable/default.nix
index 469437c6c952..cc15b96b4b6e 100644
--- a/nixpkgs/pkgs/applications/graphics/darktable/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/darktable/default.nix
@@ -7,12 +7,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.4.1";
+  version = "3.6.0";
   pname = "darktable";
 
   src = fetchurl {
     url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
-    sha256 = "sha256-f8P4UdqbzXxQU+zQnyGqPrYQO+mKbFj1IBC28iF0lB4=";
+    sha256 = "sha256:0f8aqwkgw4gs97b5i4ygiqk5zilwq7ax7zwdd31r72zk98cd1g46";
   };
 
   nativeBuildInputs = [ cmake ninja llvm pkg-config intltool perl desktop-file-utils wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/applications/graphics/drawio/default.nix b/nixpkgs/pkgs/applications/graphics/drawio/default.nix
index 05e94bb164c9..5bb94baf76f2 100644
--- a/nixpkgs/pkgs/applications/graphics/drawio/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/drawio/default.nix
@@ -91,7 +91,7 @@ stdenv.mkDerivation rec {
     homepage = "https://about.draw.io/";
     license = licenses.asl20;
     changelog = "https://github.com/jgraph/drawio-desktop/releases/tag/v${version}";
-    maintainers = with maintainers; [ danieldk ];
+    maintainers = with maintainers; [ ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/rapid-photo-downloader/default.nix b/nixpkgs/pkgs/applications/graphics/rapid-photo-downloader/default.nix
index 9fd629ca8e9c..f9120ca0ee48 100644
--- a/nixpkgs/pkgs/applications/graphics/rapid-photo-downloader/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/rapid-photo-downloader/default.nix
@@ -55,7 +55,7 @@ mkDerivationWith python3Packages.buildPythonApplication rec {
     psutil
     pyxdg
     arrow
-    dateutil
+    python-dateutil
     easygui
     colour
     pymediainfo
diff --git a/nixpkgs/pkgs/applications/logging/humioctl/default.nix b/nixpkgs/pkgs/applications/logging/humioctl/default.nix
index c1aae04b2e58..f73c38591f95 100644
--- a/nixpkgs/pkgs/applications/logging/humioctl/default.nix
+++ b/nixpkgs/pkgs/applications/logging/humioctl/default.nix
@@ -1,8 +1,8 @@
 { buildGoModule, fetchFromGitHub, installShellFiles, lib }:
 
 let
-  humioCtlVersion = "0.28.3";
-  sha256 = "sha256-GUn5hg4gPGjQ6U2dboGE22u8XuZ578+EnkmHLASXd3Q=";
+  humioCtlVersion = "0.28.5";
+  sha256 = "sha256-h6zQG9jjHpAxaJUaFoVmRyR1A/bk57CKBIkOGPcdJP0=";
   vendorSha256 = "sha256-867x33Aq27D2m14NqqsdByC39pjjyJZbfX3jmwVU2yo=";
 in buildGoModule {
     name = "humioctl-${humioCtlVersion}";
diff --git a/nixpkgs/pkgs/applications/misc/1password-gui/default.nix b/nixpkgs/pkgs/applications/misc/1password-gui/default.nix
index 436e4d7831fd..b4b55fa264dd 100644
--- a/nixpkgs/pkgs/applications/misc/1password-gui/default.nix
+++ b/nixpkgs/pkgs/applications/misc/1password-gui/default.nix
@@ -107,7 +107,7 @@ stdenv.mkDerivation rec {
     description = "Multi-platform password manager";
     homepage = "https://1password.com/";
     license = licenses.unfree;
-    maintainers = with maintainers; [ danieldk timstott savannidgerinel ];
+    maintainers = with maintainers; [ timstott savannidgerinel ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/calibre/default.nix b/nixpkgs/pkgs/applications/misc/calibre/default.nix
index 0ee374ac6957..d27c9c9af653 100644
--- a/nixpkgs/pkgs/applications/misc/calibre/default.nix
+++ b/nixpkgs/pkgs/applications/misc/calibre/default.nix
@@ -77,7 +77,7 @@ mkDerivation rec {
       cchardet
       css-parser
       cssselect
-      dateutil
+      python-dateutil
       dnspython
       feedparser
       html2text
diff --git a/nixpkgs/pkgs/applications/misc/cherrytree/default.nix b/nixpkgs/pkgs/applications/misc/cherrytree/default.nix
index 585f62178611..ef307ce3460b 100644
--- a/nixpkgs/pkgs/applications/misc/cherrytree/default.nix
+++ b/nixpkgs/pkgs/applications/misc/cherrytree/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cherrytree";
-  version = "0.99.37";
+  version = "0.99.38";
 
   src = fetchFromGitHub {
     owner = "giuspen";
     repo = "cherrytree";
     rev = version;
-    sha256 = "1a2scwjrjijxwyfpqih23zzay3yqhyzpxnp66388fcir1cmp8zih";
+    sha256 = "sha256-04MRw6pMtJGxTMKwOzPNGg1T85SfVY5bMkF3gt2V0e0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/cura/default.nix b/nixpkgs/pkgs/applications/misc/cura/default.nix
index a33cb7b2ce6c..32b9085b3de2 100644
--- a/nixpkgs/pkgs/applications/misc/cura/default.nix
+++ b/nixpkgs/pkgs/applications/misc/cura/default.nix
@@ -3,20 +3,20 @@
 
 mkDerivation rec {
   pname = "cura";
-  version = "4.9.0";
+  version = "4.10.0";
 
   src = fetchFromGitHub {
     owner = "Ultimaker";
     repo = "Cura";
     rev = version;
-    sha256 = "1q515qwrzla3ikbsjmk91y0nrbwih11jycgmd50lkrmnkh7qj0r2";
+    sha256 = "0v65xg31rw4kc7f98k8zz0kmhrp9m55k8ahblha9r1vr4krcf30z";
   };
 
   materials = fetchFromGitHub {
     owner = "Ultimaker";
     repo = "fdm_materials";
     rev = version;
-    sha256 = "0hi9w1fsnazlr0vvxdr3alsdb8m1vjjfp5zhmlz4kyyxhsy3bc33";
+    sha256 = "0ykf14j4yx4cf12qw0d4bff9ixrx96m6wxqvi83sn721y7dsd2rs";
   };
 
   buildInputs = [ qtbase qtquickcontrols2 qtgraphicaleffects ];
diff --git a/nixpkgs/pkgs/applications/misc/curaengine/default.nix b/nixpkgs/pkgs/applications/misc/curaengine/default.nix
index 05f63c548035..d0dfde5b3820 100644
--- a/nixpkgs/pkgs/applications/misc/curaengine/default.nix
+++ b/nixpkgs/pkgs/applications/misc/curaengine/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "curaengine";
-  version = "4.9.1";
+  version = "4.10.0";
 
   src = fetchFromGitHub {
     owner = "Ultimaker";
     repo = "CuraEngine";
     rev = version;
-    sha256 = "sha256-1hCjtnI1EnfyQ0QfU8qZoSLIjE5pyDYpu8H4J91cWYM=";
+    sha256 = "sha256-t5i6s0KKcaoMqzDxZ6JL1NyKP33uxWdmyziK3xh8q88=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/applications/misc/dbeaver/default.nix b/nixpkgs/pkgs/applications/misc/dbeaver/default.nix
index b48640c1d2ae..a15157a9370b 100644
--- a/nixpkgs/pkgs/applications/misc/dbeaver/default.nix
+++ b/nixpkgs/pkgs/applications/misc/dbeaver/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dbeaver";
-  version = "21.1.1"; # When updating also update fetchedMavenDeps.sha256
+  version = "21.1.2"; # When updating also update fetchedMavenDeps.sha256
 
   src = fetchFromGitHub {
     owner = "dbeaver";
     repo = "dbeaver";
     rev = version;
-    sha256 = "sha256-enUwX+BxgPy4c1Vwo1+vN3lFYz4LgofgKvZOYuz/050=";
+    sha256 = "sha256-3q5LTllyqw7s8unJHTuasBCM4iaJ9lLpwgbXwBGUtIw=";
   };
 
   fetchedMavenDeps = stdenv.mkDerivation {
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
     dontFixup = true;
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "sha256-vNC+LmGEepZCepPodY3c783moReppqNw32d7AUuvBZc=";
+    outputHash = "sha256-QPDnIXP3yB1Dn0LBbBBLvRDbCyguWvG9Zzb1Vjh72UA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/electron-cash/default.nix b/nixpkgs/pkgs/applications/misc/electron-cash/default.nix
index c852620d7989..4f8c5f8bb8b5 100644
--- a/nixpkgs/pkgs/applications/misc/electron-cash/default.nix
+++ b/nixpkgs/pkgs/applications/misc/electron-cash/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitHub, python3Packages, qtbase, fetchpatch, wrapQtAppsHook
+{ lib, stdenv, fetchFromGitHub, python3Packages, qtbase, fetchpatch, wrapQtAppsHook
 , secp256k1 }:
 
 python3Packages.buildPythonApplication rec {
@@ -61,7 +61,7 @@ python3Packages.buildPythonApplication rec {
     pytest electroncash/tests
   '';
 
-  postInstall = ''
+  postInstall = lib.optionalString stdenv.isLinux ''
     substituteInPlace $out/share/applications/electron-cash.desktop \
       --replace "Exec=electron-cash" "Exec=$out/bin/electron-cash"
   '';
@@ -92,7 +92,7 @@ python3Packages.buildPythonApplication rec {
       of the blockchain.
     '';
     homepage = "https://www.electroncash.org/";
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ lassulus nyanloutre oxalica ];
     license = licenses.mit;
   };
diff --git a/nixpkgs/pkgs/applications/misc/expenses/default.nix b/nixpkgs/pkgs/applications/misc/expenses/default.nix
index 63f942c2c593..cd40b381cb74 100644
--- a/nixpkgs/pkgs/applications/misc/expenses/default.nix
+++ b/nixpkgs/pkgs/applications/misc/expenses/default.nix
@@ -7,18 +7,18 @@
 
 buildGoModule rec {
   pname = "expenses";
-  version = "0.2.1";
+  version = "0.2.2";
 
   src = fetchFromGitHub {
     owner = "manojkarthick";
     repo = "expenses";
     rev = "v${version}";
-    sha256 = "11wxaqbnrrg0rykx5905chi6rhmai1nqggdbhh6hiappr5rksl0j";
+    sha256 = "sha256-CaIbLtP7ziv9UBQE+QsNnqX65OV+6GIvkLwKm1G++iY=";
   };
 
-  vendorSha256 = "1kwj63wl4kb16zl3lmi9bzj1az7vi453asdy52na0mjx4ymmjyk1";
+  vendorSha256 = "sha256-NWTFxF4QCH1q1xx+hmVmpvDeOlqH5Ai2+0ParE5px9M=";
 
-  # package does not contain any tests as of v0.2.1
+  # package does not contain any tests as of v0.2.2
   doCheck = false;
 
   buildInputs = [ sqlite ];
diff --git a/nixpkgs/pkgs/applications/misc/flavours/default.nix b/nixpkgs/pkgs/applications/misc/flavours/default.nix
index fcedf65af713..94fc91dfdb9c 100644
--- a/nixpkgs/pkgs/applications/misc/flavours/default.nix
+++ b/nixpkgs/pkgs/applications/misc/flavours/default.nix
@@ -1,20 +1,28 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, libiconv }:
+{ lib, stdenv, fetchFromGitHub, rustPlatform, libiconv, installShellFiles }:
 
 rustPlatform.buildRustPackage rec {
   pname = "flavours";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "Misterio77";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-rDy859jg+F8XC4sJogIgdn1FoT8cf7S+KORt+7kboAc=";
+    sha256 = "1bgi6p7l0bh9k4vkwvngk7q19ynia0z1ninb1cq8qnwwpll6kbya";
   };
 
-  buildInputs = [ ]
-    ++ lib.optionals stdenv.isDarwin [ libiconv ];
+  buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
 
-  cargoSha256 = "sha256-I8ZH35L2CVLy6ypmdOPd8VEG/sQeGaHyT1HWNdwyZVo=";
+  cargoSha256 = "07hwxhfcbqbwb3hz18w92h1lhdiwwy7abhwpimzx7syyavp4rmn4";
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = ''
+    installShellCompletion --cmd flavours \
+      --zsh <($out/bin/flavours --completions zsh) \
+      --fish <($out/bin/flavours --completions fish) \
+      --bash <($out/bin/flavours --completions bash)
+  '';
 
   meta = with lib; {
     description = "An easy to use base16 scheme manager/builder that integrates with any workflow";
diff --git a/nixpkgs/pkgs/applications/misc/free42/default.nix b/nixpkgs/pkgs/applications/misc/free42/default.nix
index feadf1590921..2dd70acb9a73 100644
--- a/nixpkgs/pkgs/applications/misc/free42/default.nix
+++ b/nixpkgs/pkgs/applications/misc/free42/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "free42";
-  version = "3.0.4";
+  version = "3.0.5";
 
   src = fetchFromGitHub {
     owner = "thomasokken";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ZoW5gBAUp/5U8Is3Nhx+SHY4d0F3PGOS1/WOokKRnCU=";
+    sha256 = "sha256-ytRPIBE8KcuM+pyfdKt/b+Vi03x8nowdgZjSt8EddSc=";
   };
 
   nativeBuildInputs = [ copyDesktopItems pkg-config ];
diff --git a/nixpkgs/pkgs/applications/misc/gcalcli/default.nix b/nixpkgs/pkgs/applications/misc/gcalcli/default.nix
index 392e2c312f7d..23e42539d799 100644
--- a/nixpkgs/pkgs/applications/misc/gcalcli/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gcalcli/default.nix
@@ -20,7 +20,7 @@ buildPythonApplication rec {
   '';
 
   propagatedBuildInputs = [
-    dateutil gflags httplib2 parsedatetime six vobject
+    python-dateutil gflags httplib2 parsedatetime six vobject
     google-api-python-client oauth2client uritemplate
     libnotify
   ];
diff --git a/nixpkgs/pkgs/applications/misc/gpxsee/default.nix b/nixpkgs/pkgs/applications/misc/gpxsee/default.nix
index 0eca08907e98..a2280e8bb012 100644
--- a/nixpkgs/pkgs/applications/misc/gpxsee/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gpxsee/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "gpxsee";
-  version = "9.1";
+  version = "9.2";
 
   src = fetchFromGitHub {
     owner = "tumic0";
     repo = "GPXSee";
     rev = version;
-    sha256 = "sha256-szq1i2/NEtMK4paSkxtkKXc8yY8qGj2U/p6CzNIecAY=";
+    sha256 = "sha256-pU02Eaq6tB7X6EPOo8YAyryJRbSV3KebQv8VELxXaBw=";
   };
 
   patches = (substituteAll {
diff --git a/nixpkgs/pkgs/applications/misc/houdini/default.nix b/nixpkgs/pkgs/applications/misc/houdini/default.nix
index ce35e91d9278..db06efd6a2a2 100644
--- a/nixpkgs/pkgs/applications/misc/houdini/default.nix
+++ b/nixpkgs/pkgs/applications/misc/houdini/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, buildFHSUserEnv, undaemonize }:
+{ callPackage, buildFHSUserEnv, undaemonize, unwrapped ? callPackage ./runtime.nix {} }:
 
 let
   houdini-runtime = callPackage ./runtime.nix { };
@@ -9,6 +9,10 @@ in buildFHSUserEnv {
     mkdir -p $out/usr/lib/sesi
   '';
 
+  passthru = {
+    unwrapped = houdini-runtime;
+  };
+
   runScript = "${undaemonize}/bin/undaemonize ${houdini-runtime}/bin/houdini";
 }
 
diff --git a/nixpkgs/pkgs/applications/misc/houdini/runtime.nix b/nixpkgs/pkgs/applications/misc/houdini/runtime.nix
index c9be607b3662..8436b66719f7 100644
--- a/nixpkgs/pkgs/applications/misc/houdini/runtime.nix
+++ b/nixpkgs/pkgs/applications/misc/houdini/runtime.nix
@@ -1,6 +1,9 @@
-{ lib, stdenv, requireFile, zlib, libpng, libSM, libICE, fontconfig, xorg, libGLU, libGL, alsa-lib, dbus, xkeyboardconfig, bc, addOpenGLRunpath }:
+{ lib, stdenv, requireFile, zlib, libpng, libSM, libICE, fontconfig, xorg, libGLU, libGL, alsa-lib
+, dbus, xkeyboardconfig, nss, nspr, expat, pciutils, libxkbcommon, bc, addOpenGLRunpath
+}:
 
 let
+  # NOTE: Some dependencies only show in errors when run with QT_DEBUG_PLUGINS=1
   ld_library_path = builtins.concatStringsSep ":" [
     "${stdenv.cc.cc.lib}/lib64"
     (lib.makeLibraryPath [
@@ -17,6 +20,8 @@ let
       xorg.libXcomposite
       xorg.libXdamage
       xorg.libXtst
+      xorg.libxcb
+      xorg.libXScrnSaver
       alsa-lib
       fontconfig
       libSM
@@ -25,26 +30,22 @@ let
       libpng
       dbus
       addOpenGLRunpath.driverLink
+      nss
+      nspr
+      expat
+      pciutils
+      libxkbcommon
     ])
   ];
   license_dir = "~/.config/houdini";
 in
 stdenv.mkDerivation rec {
-  version = "17.5.327";
+  version = "18.0.460";
   pname = "houdini-runtime";
   src = requireFile rec {
     name = "houdini-${version}-linux_x86_64_gcc6.3.tar.gz";
-    sha256 = "1byigmhmby8lgi2vmgxy9jlrrqk7jyr507zqkihq5bv8kfsanv1x";
-    message = ''
-      This nix expression requires that ${name} is already part of the store.
-      Download it from https://www.sidefx.com and add it to the nix store with:
-
-          nix-prefetch-url <URL>
-
-      This can't be done automatically because you need to create an account on
-      their website and agree to their license terms before you can download
-      it. That's what you get for using proprietary software.
-    '';
+    sha256 = "18rbwszcks2zfn9zbax62rxmq50z9mc3h39b13jpd39qjqdd3jsd";
+    url = meta.homepage;
   };
 
   buildInputs = [ bc ];
@@ -82,7 +83,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.unfree;
     platforms = lib.platforms.linux;
     hydraPlatforms = [ ]; # requireFile src's should be excluded
-    maintainers = [ lib.maintainers.canndrew ];
+    maintainers = with lib.maintainers; [ canndrew kwohlfahrt ];
   };
 }
-
diff --git a/nixpkgs/pkgs/applications/misc/hugo/default.nix b/nixpkgs/pkgs/applications/misc/hugo/default.nix
index bf5fe070cbfe..a0491a09884d 100644
--- a/nixpkgs/pkgs/applications/misc/hugo/default.nix
+++ b/nixpkgs/pkgs/applications/misc/hugo/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "hugo";
-  version = "0.84.1";
+  version = "0.85.0";
 
   src = fetchFromGitHub {
     owner = "gohugoio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ULZa0tepq00v2VHDR3+aYYvRfbxYKcjcltRgRmbVmRA=";
+    sha256 = "sha256-IW41e4imaXKcXJKa7dAB60ulvRrk3qvF1//Lo55TLVI=";
   };
 
-  vendorSha256 = "sha256-jY/g92ON5OxjuZzPHJNduXYMgPU8/0ioAYvp4iqjGnU=";
+  vendorSha256 = "sha256-ZIGw349m6k8qqrzUN/oYV/HrgBvfOo/ovjo1SUDRmyk=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/applications/misc/kanjidraw/default.nix b/nixpkgs/pkgs/applications/misc/kanjidraw/default.nix
new file mode 100644
index 000000000000..53c752651d2d
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/kanjidraw/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, fetchFromGitHub
+, python3
+, bash
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "kanjidraw";
+  version = "0.2.3";
+
+  src = fetchFromGitHub {
+    owner = "obfusk";
+    repo = "kanjidraw";
+    rev = "v${version}";
+    sha256 = "03ag8vkbf85qww857ii8hcnn8bh5qa7rsmhka0v9vfxk272ifbyq";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [ tkinter ];
+
+  postPatch = ''
+    substituteInPlace Makefile --replace /bin/bash ${bash}/bin/bash
+  '';
+
+  checkPhase = ''
+    make test
+  '';
+
+  meta = with lib; {
+    description = "Handwritten kanji recognition";
+    longDescription = ''
+      kanjidraw is a simple Python library + GUI for matching (the strokes of a)
+      handwritten kanji against its database.
+
+      You can use the GUI to draw and subsequently select a kanji from the list of
+      probable matches, which will then be copied to the clipboard.
+
+      The database is based on KanjiVG and the algorithms are based on the
+      Kanji draw Android app.
+    '';
+    homepage = "https://github.com/obfusk/kanjidraw";
+    license = with licenses; [
+      agpl3Plus     # code
+      cc-by-sa-30   # data.json
+    ];
+    maintainers = [ maintainers.obfusk ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/khal/default.nix b/nixpkgs/pkgs/applications/misc/khal/default.nix
index 5c6b505dd683..c7c184febe17 100644
--- a/nixpkgs/pkgs/applications/misc/khal/default.nix
+++ b/nixpkgs/pkgs/applications/misc/khal/default.nix
@@ -9,16 +9,12 @@ with python3.pkgs; buildPythonApplication rec {
     sha256 = "sha256-L92PwU/ll+Wn1unGPHho2WC07QIbVjxoSnHwcJDtpDI=";
   };
 
-  patches = [
-    ./skip-broken-test.patch
-  ];
-
   propagatedBuildInputs = [
     atomicwrites
     click
     click-log
     configobj
-    dateutil
+    python-dateutil
     icalendar
     lxml
     pkgs.vdirsyncer
@@ -31,16 +27,12 @@ with python3.pkgs; buildPythonApplication rec {
     freezegun
   ];
   nativeBuildInputs = [ setuptools-scm sphinx sphinxcontrib_newsfeed ];
-  checkInputs = [ pytest glibcLocales ];
+  checkInputs = [
+    glibcLocales
+    pytestCheckHook
+  ];
   LC_ALL = "en_US.UTF-8";
 
-  postPatch = ''
-    sed -i \
-      -e "s/Invalid value for \"ics\"/Invalid value for \\\'ics\\\'/" \
-      -e "s/Invalid value for \"\[ICS\]\"/Invalid value for \\\'\[ICS\]\\\'/" \
-      tests/cli_test.py
-  '';
-
   postInstall = ''
     # zsh completion
     install -D misc/__khal $out/share/zsh/site-functions/__khal
@@ -56,11 +48,13 @@ with python3.pkgs; buildPythonApplication rec {
 
   doCheck = !stdenv.isAarch64;
 
-  checkPhase = ''
-    py.test -k "not test_vertical_month_abbr_fr and not test_vertical_month_unicode_weekdeays_gr \
-      and not test_event_different_timezones and not test_default_calendar and not test_birthdays \
-      and not test_birthdays_no_year"
-  '';
+  disabledTests = [
+    # This test is failing due to https://github.com/pimutils/khal/issues/1065
+    "test_print_ics_command"
+
+    # Mocking breaks in this testcase
+    "test_import_from_stdin"
+  ];
 
   meta = with lib; {
     homepage = "http://lostpackets.de/khal/";
diff --git a/nixpkgs/pkgs/applications/misc/khal/skip-broken-test.patch b/nixpkgs/pkgs/applications/misc/khal/skip-broken-test.patch
deleted file mode 100644
index fc37f6acc86e..000000000000
--- a/nixpkgs/pkgs/applications/misc/khal/skip-broken-test.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff --git a/tests/cli_test.py b/tests/cli_test.py
-index 5e354a5..d8fbcd5 100644
---- a/tests/cli_test.py
-+++ b/tests/cli_test.py
-@@ -493,6 +493,7 @@ def test_import_invalid_choice_and_prefix(runner):
-     assert result.output == '09.04.-09.04. An Event\n'
- 
- 
-+@pytest.mark.skip(reason="Mocking breaks in this testcase")
- def test_import_from_stdin(runner, monkeypatch):
-     ics_data = 'This is some really fake icalendar data'
- 
-diff --git a/tests/ui/test_editor.py b/tests/ui/test_editor.py
-index 27b7fa5..5978d72 100644
---- a/tests/ui/test_editor.py
-+++ b/tests/ui/test_editor.py
-@@ -1,5 +1,7 @@
- import datetime as dt
- 
-+import pytest
-+
- import icalendar
- from khal.ui.editor import RecurrenceEditor, StartEndEditor
- 
-@@ -19,7 +21,7 @@ palette = {
-     'edit': 'blue',
- }
- 
--
-+@pytest.mark.skip(reason="Mocking breaks in this testcase")
- def test_popup(monkeypatch):
-     """making sure the popup calendar gets callend with the right inital value
- 
diff --git a/nixpkgs/pkgs/applications/misc/kile-wl/default.nix b/nixpkgs/pkgs/applications/misc/kile-wl/default.nix
index a9e44964d459..9146f38df369 100644
--- a/nixpkgs/pkgs/applications/misc/kile-wl/default.nix
+++ b/nixpkgs/pkgs/applications/misc/kile-wl/default.nix
@@ -2,20 +2,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kile-wl";
-  version = "unstable-2021-06-01";
+  version = "unstable-2021-06-24";
 
   src = fetchFromGitLab {
     owner = "snakedye";
     repo = "kile";
-    rev = "28235f85ece148e7010c5d6ac088688100a18e04";
-    sha256 = "sha256-UTfYYywOwa728zLkLWQaz6wN0TM/4OzbHQGedjdHGSI=";
+    rev = "6a306b0b5af0f250135eb88e0e72a5038fccd6a8";
+    sha256 = "sha256-DznIDzI5rNrlKJdXjpOpsLL8IO6tuIvW0pNdRN8N6Go=";
   };
 
   passthru.updateScript = unstableGitUpdater {
     url = "https://gitlab.com/snakedye/kile.git";
   };
 
-  cargoSha256 = "sha256-dzOkiZYHQu5AuwkbWEtIJAyZ1TNIGYkfz+S3q6K384w=";
+  cargoSha256 = "sha256-LFRqhgvziQ7a8OWRzXqNIfziP6bRHTe2oF55N09rFy8=";
 
   nativeBuildInputs = [ scdoc ];
 
diff --git a/nixpkgs/pkgs/applications/misc/kiln/default.nix b/nixpkgs/pkgs/applications/misc/kiln/default.nix
new file mode 100644
index 000000000000..dfa114f446a1
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/kiln/default.nix
@@ -0,0 +1,30 @@
+{ lib, buildGoModule, fetchFromSourcehut, scdoc }:
+
+buildGoModule rec {
+  pname = "kiln";
+  version = "0.2.1";
+
+  src = fetchFromSourcehut {
+    owner = "~adnano";
+    repo = pname;
+    rev = version;
+    hash = "sha256-c6ed62Nn++qw+U/DCiYeGwF77YsBxexWKZ7UQ3LE4fI=";
+  };
+
+  nativeBuildInputs = [ scdoc ];
+
+  vendorSha256 = "sha256-bMpzebwbVHAbBtw0uuGyWd4wnM9z6tlsEQN4S/iucgk=";
+
+  installPhase = ''
+    runHook preInstall
+    make PREFIX=$out install
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A simple static site generator for Gemini";
+    homepage = "https://git.sr.ht/~adnano/kiln";
+    license = licenses.mit;
+    maintainers = with maintainers; [ sikmir ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/kjv/default.nix b/nixpkgs/pkgs/applications/misc/kjv/default.nix
index 5247207d1493..08a1b5a71af6 100644
--- a/nixpkgs/pkgs/applications/misc/kjv/default.nix
+++ b/nixpkgs/pkgs/applications/misc/kjv/default.nix
@@ -1,43 +1,41 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, readline }:
 
 let
+  patchPrefix = "https://github.com/samuelgrf/kjv/commit/";
 
-patch-base = "https://github.com/LukeSmithxyz/kjv/commit/";
-
-add-apocrypha = fetchpatch {
-  url = patch-base + "b92b7622285d10464f9274f11e740bef90705bbc.patch";
-  sha256 = "0n4sj8p9m10fcair4msc129jxkkx5whqzhjbr5k4lfgp6nb1zk8k";
-};
-
-add-install-target = fetchpatch {
-  url = patch-base + "f4ad73539eb73f1890f4b791d8d38dd95900a4a4.patch";
-  sha256 = "1yzj72i5fkzn2i4wl09q6jx7nwn2h4jwm49fc23nxfwchzar9m1q";
-};
+  add-apocrypha = fetchpatch {
+    url = patchPrefix + "0856fa0d37b45de0d6b47d163b5ea9a0b7f2c061.patch";
+    sha256 = "1jkajdg4wvpbbwc5mn37i4c8nfis4z0pv5rl7gqs0laj0gpj7jn8";
+  };
 
+  add-install-target = fetchpatch {
+    url = patchPrefix + "50a83256ee45430fb06b7aea1945dd91c6813bc3.patch";
+    sha256 = "0bv9yma67jdj496a6vn6y007c9gwjpg3rzld1i9m9y9xmlzq4yzv";
+  };
 in
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   pname = "kjv";
-  version = "unstable-2018-12-25";
+  version = "unstable-2021-03-11";
 
   src = fetchFromGitHub {
     owner = "bontibon";
-    repo = pname;
-    rev = "fda81a610e4be0e7c5cf242de655868762dda1d4";
-    sha256 = "1favfcjvd3pzz1ywwv3pbbxdg7v37s8vplgsz8ag016xqf5ykqqf";
+    repo = "kjv";
+    rev = "108595dcbb9bb12d40e0309f029b6fb3ccd81309";
+    hash = "sha256-Z6myd9Xn23pYizG+IZVDrP988pYU06QIcpqXtWTcPiw=";
   };
 
   patches = [ add-apocrypha add-install-target ];
 
-  makeFlags = [
-    "PREFIX=${placeholder "out"}"
-  ];
+  buildInputs = [ readline ];
+
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
   meta = with lib; {
     description = "The Bible, King James Version";
     homepage = "https://github.com/bontibon/kjv";
-    license = licenses.publicDomain;
-    maintainers = [ maintainers.jtobin ];
+    license = licenses.unlicense;
+    maintainers = with maintainers; [ jtobin samuelgrf ];
+    mainProgram = "kjv";
   };
 }
-
diff --git a/nixpkgs/pkgs/applications/misc/logseq/default.nix b/nixpkgs/pkgs/applications/misc/logseq/default.nix
index 20648cf7a4c7..d28a12396ee1 100644
--- a/nixpkgs/pkgs/applications/misc/logseq/default.nix
+++ b/nixpkgs/pkgs/applications/misc/logseq/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "logseq";
-  version = "0.2.0";
+  version = "0.2.2";
 
   src = fetchurl {
     url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
-    sha256 = "uFINB8WXFbtI/WMFvqirAygzwK7I/8+8YPeyCd+xQ5w=";
+    sha256 = "03l5w0fg3laiz85k4g4w98ngaziyfr9s24xshjrfl71q6r9s813m";
     name = "${pname}-${version}.AppImage";
   };
 
diff --git a/nixpkgs/pkgs/applications/misc/lutris/default.nix b/nixpkgs/pkgs/applications/misc/lutris/default.nix
index d294271ca25c..2d70daa94ecb 100644
--- a/nixpkgs/pkgs/applications/misc/lutris/default.nix
+++ b/nixpkgs/pkgs/applications/misc/lutris/default.nix
@@ -1,6 +1,8 @@
-{ buildPythonApplication, lib, fetchFromGitHub
+{ buildPythonApplication
+, lib
+, fetchFromGitHub
 
-# build inputs
+  # build inputs
 , atk
 , gdk-pixbuf
 , glib-networking
@@ -13,7 +15,7 @@
 , webkitgtk
 , wrapGAppsHook
 
-# python dependencies
+  # python dependencies
 , dbus-python
 , distro
 , evdev
@@ -25,7 +27,7 @@
 , keyring
 , python_magic
 
-# commands that lutris needs
+  # commands that lutris needs
 , xrandr
 , pciutils
 , psmisc
@@ -71,15 +73,16 @@ let
     gstreamer
   ];
 
-in buildPythonApplication rec {
+in
+buildPythonApplication rec {
   pname = "lutris-original";
-  version = "0.5.8.3";
+  version = "0.5.8.4";
 
   src = fetchFromGitHub {
     owner = "lutris";
     repo = "lutris";
     rev = "v${version}";
-    sha256 = "sha256-NnWIP9oEndk/hDo5Z33pkmZ61pxT/ScmZ4YpS2ajK/8=";
+    sha256 = "sha256-5ivXIgDyM9PRvuUhPFPgziXDvggcL+p65kI2yOaiS1M=";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/applications/misc/makeself/default.nix b/nixpkgs/pkgs/applications/misc/makeself/default.nix
index e60e110087f4..12d4f62a7834 100644
--- a/nixpkgs/pkgs/applications/misc/makeself/default.nix
+++ b/nixpkgs/pkgs/applications/misc/makeself/default.nix
@@ -12,9 +12,12 @@ stdenv.mkDerivation rec {
     sha256 = "07cq7q71bv3fwddkp2863ylry2ivds00f8sjy8npjpdbkailxm21";
   };
 
-  patchPhase = "patchShebangs test";
+  postPatch = "patchShebangs test";
 
-  doCheck = true;
+  # Issue #110149: our default /bin/sh apparently has 32-bit math only
+  # (attribute busybox-sandbox-shell), and that causes problems
+  # when running these tests inside build, based on free disk space.
+  doCheck = false;
   checkTarget = "test";
   checkInputs = [ which zstd pbzip2 ];
 
@@ -31,7 +34,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "http://megastep.org/makeself";
+    homepage = "https://makeself.io";
     description = "Utility to create self-extracting packages";
     license = licenses.gpl2;
     maintainers = [ maintainers.wmertens ];
diff --git a/nixpkgs/pkgs/applications/misc/masterpdfeditor/default.nix b/nixpkgs/pkgs/applications/misc/masterpdfeditor/default.nix
index 2fd217e3cd6a..72028478e6ee 100644
--- a/nixpkgs/pkgs/applications/misc/masterpdfeditor/default.nix
+++ b/nixpkgs/pkgs/applications/misc/masterpdfeditor/default.nix
@@ -41,6 +41,7 @@ stdenv.mkDerivation rec {
     homepage = "https://code-industry.net/free-pdf-editor/";
     license = licenses.unfreeRedistributable;
     platforms = with platforms; [ "x86_64-linux" ];
-    maintainers = with maintainers; [ cmcdragonkai flokli ];
+    broken = true;
+    maintainers = with maintainers; [ cmcdragonkai ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/metadata-cleaner/default.nix b/nixpkgs/pkgs/applications/misc/metadata-cleaner/default.nix
index d5f2a4b2462b..46da03b8a882 100644
--- a/nixpkgs/pkgs/applications/misc/metadata-cleaner/default.nix
+++ b/nixpkgs/pkgs/applications/misc/metadata-cleaner/default.nix
@@ -17,7 +17,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "metadata-cleaner";
-  version = "1.0.6";
+  version = "1.0.7";
 
   format = "other";
 
@@ -25,7 +25,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "rmnvgr";
     repo = "metadata-cleaner";
     rev = "v${version}";
-    sha256 = "0k9qnycaqxnmsjsyxqgip6xr5w9affzxjc4zyb38ajbq4arfq5wv";
+    sha256 = "sha256-HlP/QahVFCAct06pKanjozFqeyTdHoHanIemq5ID2CQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/nwg-panel/default.nix b/nixpkgs/pkgs/applications/misc/nwg-panel/default.nix
new file mode 100644
index 000000000000..4636477c1c51
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/nwg-panel/default.nix
@@ -0,0 +1,57 @@
+{ lib, fetchFromGitHub
+, python3Packages, wrapGAppsHook, gobject-introspection
+, gtk-layer-shell, pango, gdk-pixbuf, atk
+# Extra packages called by various internal nwg-panel modules
+, sway             # swaylock, swaymsg
+, systemd          # systemctl
+, wlr-randr        # wlr-randr
+, nwg-menu         # nwg-menu
+, light            # light
+, pamixer          # pamixer
+, pulseaudio       # pactl
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "nwg-panel";
+  version = "0.3.2";
+
+  src = fetchFromGitHub {
+    owner = "nwg-piotr";
+    repo = "nwg-panel";
+    rev = "v${version}";
+    hash = "sha256-x5lGVF6eRhOVXrsBatdsiUiWs/+FxRlCtp79zA206RY=";
+  };
+
+  # No tests
+  doCheck = false;
+
+  # Because of wrapGAppsHook
+  strictDeps = false;
+  dontWrapGApps = true;
+
+  buildInputs = [ atk gdk-pixbuf gtk-layer-shell pango ];
+  nativeBuildInputs = [ wrapGAppsHook gobject-introspection ];
+  propagatedBuildInputs = with python3Packages; [ i3ipc netifaces psutil pybluez pygobject3 ];
+
+  postInstall = ''
+    mkdir -p $out/share/{applications,pixmaps}
+    cp $src/nwg-panel-config.desktop $out/share/applications/
+    cp $src/nwg-shell.svg $src/nwg-panel.svg $out/share/pixmaps/
+  '';
+
+  preFixup = ''
+    makeWrapperArgs+=(
+      "''${gappsWrapperArgs[@]}"
+      --prefix XDG_DATA_DIRS : "$out/share"
+      --prefix PATH : "${lib.makeBinPath [ light nwg-menu pamixer pulseaudio sway systemd wlr-randr ]}"
+    )
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/nwg-piotr/nwg-panel";
+    description = "GTK3-based panel for Sway window manager";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ berbiche ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/octoprint/default.nix b/nixpkgs/pkgs/applications/misc/octoprint/default.nix
index 0c0dae0da42e..750043d4a9e3 100644
--- a/nixpkgs/pkgs/applications/misc/octoprint/default.nix
+++ b/nixpkgs/pkgs/applications/misc/octoprint/default.nix
@@ -44,6 +44,7 @@ let
                   inherit version;
                   sha256 = "63509b41d158ae5b7f67eb4ad20fecbb4eee99434e73e140354dc3ff8e09716f";
                 };
+                propagatedBuildInputs = [ self.six ];
               }
             );
           }
diff --git a/nixpkgs/pkgs/applications/misc/openring/default.nix b/nixpkgs/pkgs/applications/misc/openring/default.nix
index 6d840b1d9e79..248c33c4dea3 100644
--- a/nixpkgs/pkgs/applications/misc/openring/default.nix
+++ b/nixpkgs/pkgs/applications/misc/openring/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "openring";
-  version = "unstable-2021-04-03";
+  version = "unstable-2021-06-28";
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
     repo = pname;
-    rev = "f13edb5dfd882ce608d61cf6b6740650ce9d84a3";
-    sha256 = "sha256-Z65V77JZ9jCzBg7T2+d5Agxxd+MV2R7nYcLedYP5eOE=";
+    rev = "e566294050776355ca0d3bfd7a1f6f70767cd08b";
+    sha256 = "sha256-h9Tout3KGiv6jbq9Ui3crb5NdTOHcn7BIy+aPoWG5sM=";
   };
 
   vendorSha256 = "sha256-BbBTmkGyLrIWphXC+dBaHaVzHuXRZ+4N/Jt2k3nF7Z4=";
diff --git a/nixpkgs/pkgs/applications/misc/otpclient/default.nix b/nixpkgs/pkgs/applications/misc/otpclient/default.nix
new file mode 100644
index 000000000000..b15eb1a78b42
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/otpclient/default.nix
@@ -0,0 +1,36 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, pkg-config
+, gtk3
+, wrapGAppsHook
+, jansson
+, libgcrypt
+, libzip
+, libpng
+, libcotp
+, zbar
+}:
+
+stdenv.mkDerivation rec {
+  pname = "otpclient";
+  version = "2.4.4";
+
+  src = fetchFromGitHub {
+    owner = "paolostivanin";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0zjvhcx9q8nsf97zikddxriky0kghi4j4i7312s94pl8c7kb4abr";
+  };
+
+  buildInputs = [ gtk3 jansson libgcrypt libzip libpng libcotp zbar ];
+  nativeBuildInputs = [ cmake pkg-config wrapGAppsHook ];
+
+  meta = with lib; {
+    description = "Highly secure and easy to use OTP client written in C/GTK that supports both TOTP and HOTP";
+    homepage = "https://github.com/paolostivanin/OTPClient";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ alexbakker ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/pdfarranger/default.nix b/nixpkgs/pkgs/applications/misc/pdfarranger/default.nix
index 235d14b4cdad..5657c7f7e1a5 100644
--- a/nixpkgs/pkgs/applications/misc/pdfarranger/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pdfarranger/default.nix
@@ -29,7 +29,7 @@ python3Packages.buildPythonApplication rec {
     pikepdf
     img2pdf
     setuptools
-    dateutil
+    python-dateutil
   ];
 
   # incompatible with wrapGAppsHook
diff --git a/nixpkgs/pkgs/applications/misc/pinfo/default.nix b/nixpkgs/pkgs/applications/misc/pinfo/default.nix
index 8668807e81cc..b0fc64a1a5e9 100644
--- a/nixpkgs/pkgs/applications/misc/pinfo/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pinfo/default.nix
@@ -1,24 +1,45 @@
-{ lib, stdenv, fetchurl, autoreconfHook, gettext, texinfo, ncurses, readline }:
+{ lib
+, autoreconfHook
+, fetchFromGitHub
+, gettext
+, ncurses
+, readline
+, stdenv
+, texinfo
+}:
 
-stdenv.mkDerivation {
-  name = "pinfo-0.6.10";
+stdenv.mkDerivation rec {
+  pname = "pinfo";
+  version = "0.6.13";
 
-  src = fetchurl {
-    # homepage needed you to login to download the tarball
-    url = "https://src.fedoraproject.org/repo/pkgs/pinfo/pinfo-0.6.10.tar.bz2"
-      + "/fe3d3da50371b1773dfe29bf870dbc5b/pinfo-0.6.10.tar.bz2";
-    sha256 = "0p8wyrpz9npjcbx6c973jspm4c3xz4zxx939nngbq49xqah8088j";
+  src = fetchFromGitHub {
+    owner = "baszoetekouw";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "173d2p22irwiabvr4z6qvr6zpr6ysfkhmadjlyhyiwd7z62larvy";
   };
 
-  nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ gettext texinfo ncurses readline ];
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
 
-  configureFlags = [ "--with-curses=${ncurses.dev}" "--with-readline=${readline.dev}" ];
+  buildInputs = [
+    gettext
+    texinfo
+    ncurses
+    readline
+  ];
+
+  configureFlags = [
+    "--with-curses=${ncurses.dev}"
+    "--with-readline=${readline.dev}"
+  ];
 
   meta = with lib; {
     description = "A viewer for info files";
+    homepage = "https://github.com/baszoetekouw/pinfo";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
+    maintainers = with maintainers; [ fab ];
   };
 }
-
diff --git a/nixpkgs/pkgs/applications/misc/reddsaver/default.nix b/nixpkgs/pkgs/applications/misc/reddsaver/default.nix
index 47412c78f4e6..23fddf3b7ed6 100644
--- a/nixpkgs/pkgs/applications/misc/reddsaver/default.nix
+++ b/nixpkgs/pkgs/applications/misc/reddsaver/default.nix
@@ -8,22 +8,22 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "reddsaver";
-  version = "0.3.2";
+  version = "0.3.3";
 
   src = fetchFromGitHub {
     owner = "manojkarthick";
     repo = "reddsaver";
     rev = "v${version}";
-    sha256 = "0ffci3as50f55n1v36hji4n0b3lkch5ylc75awjz65jz2gd2y2j4";
+    sha256 = "1czsy1bb0ja650sndwzq9rcbbhcci7s7ablw0agaynhi403shavv";
   };
 
-  cargoSha256 = "1xf26ldgfinzpakcp65w52fdl3arsm053vfnq7gk2fwnq55cjwl0";
+  cargoSha256 = "0wr6y7mfffaqdh6i5nqhx692dih159121sm6k0i37wcdvxhvd51z";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ]
     ++ lib.optional stdenv.isDarwin Security;
 
-  # package does not contain tests as of v0.3.2
+  # package does not contain tests as of v0.3.3
   docCheck = false;
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/misc/seatd/default.nix b/nixpkgs/pkgs/applications/misc/seatd/default.nix
index e07356d0c334..98f278e0c3a7 100644
--- a/nixpkgs/pkgs/applications/misc/seatd/default.nix
+++ b/nixpkgs/pkgs/applications/misc/seatd/default.nix
@@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
 
   outputs = [ "bin" "out" "dev" "man" ];
 
+  depsBuildBuild = [ pkg-config ];
+
   nativeBuildInputs = [ meson ninja pkg-config scdoc ];
 
   buildInputs = [ systemd ];
diff --git a/nixpkgs/pkgs/applications/misc/sfm/default.nix b/nixpkgs/pkgs/applications/misc/sfm/default.nix
index 3bbcc939d2fb..1d9dc3811aae 100644
--- a/nixpkgs/pkgs/applications/misc/sfm/default.nix
+++ b/nixpkgs/pkgs/applications/misc/sfm/default.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, conf ? null }:
+{ lib, stdenv, fetchFromGitHub, writeText, conf ? null }:
 
 stdenv.mkDerivation rec {
   pname = "sfm";
-  version = "0.1";
+  version = "0.2";
 
   src = fetchFromGitHub {
     owner = "afify";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-i4WzYaJKityIt+LPWCbd6UsPBaYoaS397l5BInOXQQA=";
+    hash = "sha256-DwXKrSqcebNI5N9REXyMV16W2kr72IH9+sKSVehc5zw=";
   };
 
-  configFile = lib.optionalString (conf!=null) (lib.writeText "config.def.h" conf);
+  configFile = lib.optionalString (conf!=null) (writeText "config.def.h" conf);
 
   postPatch = lib.optionalString (conf!=null) "cp ${configFile} config.def.h";
 
diff --git a/nixpkgs/pkgs/applications/misc/slides/default.nix b/nixpkgs/pkgs/applications/misc/slides/default.nix
index 4eb0981d81f1..1d1aed3c9260 100644
--- a/nixpkgs/pkgs/applications/misc/slides/default.nix
+++ b/nixpkgs/pkgs/applications/misc/slides/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "slides";
-  version = "0.3.0";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "maaslalani";
     repo = "slides";
     rev = "v${version}";
-    sha256 = "00sml6b9q3df9dgl7fpsn6a3qkq6xklnbfvvblf91xdf4ssn7wrx";
+    sha256 = "15f4sn1zsqqhzxnmwb1igh8xhka6li31ygdqgbjvxzm93lkarxvs";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/subsurface/default.nix b/nixpkgs/pkgs/applications/misc/subsurface/default.nix
index 7420267aa7d2..d5a7d6f0fd67 100644
--- a/nixpkgs/pkgs/applications/misc/subsurface/default.nix
+++ b/nixpkgs/pkgs/applications/misc/subsurface/default.nix
@@ -5,13 +5,13 @@
 }:
 
 let
-  version = "5.0.1";
+  version = "5.0.2";
 
   subsurfaceSrc = (fetchFromGitHub {
     owner = "Subsurface";
     repo = "subsurface";
     rev = "v${version}";
-    sha256 = "01r836ckvrmgprjf4cqxn2n3w5w4pa2fjrhspjndsspic8nwlrwg";
+    sha256 = "1yay06m8p9qp2ghrg8dxavdq55y09apcgdnb7rihgs3hq86k539n";
     fetchSubmodules = true;
   });
 
diff --git a/nixpkgs/pkgs/applications/misc/termdown/default.nix b/nixpkgs/pkgs/applications/misc/termdown/default.nix
index 562a0f0bdcbe..f28bd665a5e1 100644
--- a/nixpkgs/pkgs/applications/misc/termdown/default.nix
+++ b/nixpkgs/pkgs/applications/misc/termdown/default.nix
@@ -3,7 +3,7 @@
 , buildPythonApplication
 , click
 , pyfiglet
-, dateutil
+, python-dateutil
 , setuptools
 }:
 
@@ -18,7 +18,7 @@ buildPythonApplication rec {
     owner = "trehn";
   };
 
-  propagatedBuildInputs = [ dateutil click pyfiglet setuptools ];
+  propagatedBuildInputs = [ python-dateutil click pyfiglet setuptools ];
 
   meta = with lib; {
     description = "Starts a countdown to or from TIMESPEC";
diff --git a/nixpkgs/pkgs/applications/misc/tut/default.nix b/nixpkgs/pkgs/applications/misc/tut/default.nix
index 3994541f48b1..4901eda54aa6 100644
--- a/nixpkgs/pkgs/applications/misc/tut/default.nix
+++ b/nixpkgs/pkgs/applications/misc/tut/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "tut";
-  version = "0.0.17";
+  version = "0.0.20";
 
   src = fetchFromGitHub {
     owner = "RasmusLindroth";
     repo = pname;
     rev = version;
-    sha256 = "0g4kbprsdjk2lbx81azdvz8kkhyk370id3622xxssr894v0i7iwj";
+    sha256 = "03jiv5m807z96796fbpi6ny22am3sq4jfni37fxbld05sxdzwcnd";
   };
 
-  vendorSha256 = "1kf7ynmxrzvhl028b4nbz9h9v9x5srarsbynpgpp4vicmxqlvrmh";
+  vendorSha256 = "1in5b7ixnm5iizkzziqclvgaq87ccdh507amkgfhfy5sxsgbfb1g";
 
   meta = with lib; {
     description = "A TUI for Mastodon with vim inspired keys";
diff --git a/nixpkgs/pkgs/applications/misc/usb-reset/default.nix b/nixpkgs/pkgs/applications/misc/usb-reset/default.nix
new file mode 100644
index 000000000000..db05eda0d41d
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/usb-reset/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, libusb1
+}:
+
+stdenv.mkDerivation rec {
+  pname = "usb-reset";
+  # not tagged, but changelog has this with the date of the e9a9d6c commit
+  # and no significant change occured between bumping the version in the Makefile and that
+  # and the changes since then (up to ff822d8) seem snap related
+  version = "0.3";
+
+  src = fetchFromGitHub {
+    owner = "ralight";
+    repo = pname;
+    rev = "e9a9d6c4a533430e763e111a349efbba69e7a5bb";
+    sha256 = "0k9qmhqi206gcnv3z4vwya82g5nm225972ylf67zjiikk8pn8m0s";
+  };
+
+  buildInputs = [ libusb1 ];
+
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace /usr/include/libusb-1.0 ${libusb1.dev}/include/libusb-1.0
+  '';
+
+  makeFlags = [
+    "DESTDIR=${placeholder "out"}"
+    "prefix="
+  ];
+
+  meta = with lib; {
+    description = "Perform a bus reset on a USB device using its vendor and product ID";
+    homepage = "https://github.com/ralight/usb-reset";
+    changelog = "https://github.com/ralight/usb-reset/blob/master/ChangeLog.txt";
+    license = licenses.mit;
+    maintainers = [ maintainers.evils ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/visidata/default.nix b/nixpkgs/pkgs/applications/misc/visidata/default.nix
index 9663d09304f8..7851000a7a0f 100644
--- a/nixpkgs/pkgs/applications/misc/visidata/default.nix
+++ b/nixpkgs/pkgs/applications/misc/visidata/default.nix
@@ -2,7 +2,7 @@
 , lib
 , buildPythonApplication
 , fetchFromGitHub
-, dateutil
+, python-dateutil
 , pandas
 , requests
 , lxml
@@ -36,7 +36,7 @@ buildPythonApplication rec {
   propagatedBuildInputs = [
     # from visidata/requirements.txt
     # packages not (yet) present in nixpkgs are commented
-    dateutil
+    python-dateutil
     pandas
     requests
     lxml
diff --git a/nixpkgs/pkgs/applications/misc/xplr/default.nix b/nixpkgs/pkgs/applications/misc/xplr/default.nix
index 7d7df0ae8be8..3ee90dce51c4 100644
--- a/nixpkgs/pkgs/applications/misc/xplr/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xplr/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "xplr";
-  version = "0.14.3";
+  version = "0.14.4";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "012wyl6qvwca5r8kqf8j7r50r1lbv802c90m13xb7rqyb6jjfv0m";
+    sha256 = "1jfclwpip4xvwkvz5g0fb3v04pdnk3ddvkdll0yr7wm0g6p44xfd";
   };
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
-  cargoSha256 = "1mgi7hxsn9wajxr78kr3n4g7fa0rwp4riah8dq06cqwjlh0pkfjd";
+  cargoSha256 = "06iwx3s7h6l9kvd17hx0ihy6zrz4jbfjmdlkyij2fs0fhvas110x";
 
   meta = with lib; {
     description = "A hackable, minimal, fast TUI file explorer";
diff --git a/nixpkgs/pkgs/applications/misc/yokadi/default.nix b/nixpkgs/pkgs/applications/misc/yokadi/default.nix
index 20defe419880..10d519efa45c 100644
--- a/nixpkgs/pkgs/applications/misc/yokadi/default.nix
+++ b/nixpkgs/pkgs/applications/misc/yokadi/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, buildPythonApplication, dateutil,
+{ lib, fetchurl, buildPythonApplication, python-dateutil,
   sqlalchemy, setproctitle, icalendar }:
 
 buildPythonApplication rec {
@@ -11,7 +11,7 @@ buildPythonApplication rec {
   };
 
   propagatedBuildInputs = [
-    dateutil
+    python-dateutil
     sqlalchemy
     setproctitle
     icalendar
diff --git a/nixpkgs/pkgs/applications/networking/3proxy/default.nix b/nixpkgs/pkgs/applications/networking/3proxy/default.nix
index f9221d06d022..b83f93b3b68c 100644
--- a/nixpkgs/pkgs/applications/networking/3proxy/default.nix
+++ b/nixpkgs/pkgs/applications/networking/3proxy/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "3proxy";
-  version = "0.9.3";
+  version = "0.9.4";
 
   src = fetchFromGitHub {
     owner = "z3APA3A";
     repo = pname;
     rev = version;
-    sha256 = "9aopwyz0U2bYTvx5YWLJo9EE8Xfb51IOguHRJodjpm8=";
+    sha256 = "sha256-4bLlQ/ULvpjs6fr19yBBln5mRRc+yj+zVLiTs1e/Ypc=";
   };
 
   makeFlags = [
diff --git a/nixpkgs/pkgs/applications/networking/browsers/brave/default.nix b/nixpkgs/pkgs/applications/networking/browsers/brave/default.nix
index 7d5b437b0acd..7b2acbd6b3da 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/brave/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/brave/default.nix
@@ -90,11 +90,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "brave";
-  version = "1.26.67";
+  version = "1.26.74";
 
   src = fetchurl {
     url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
-    sha256 = "Kg6ExXZYdSkyBoivu9h4blytHN9hOc4bUSuFR+1YZOY=";
+    sha256 = "ULmoUXyPWHCewK4FPP7SX1Ena6n0aM/EWR7ZnMN1ztY=";
   };
 
   dontConfigure = true;
diff --git a/nixpkgs/pkgs/applications/networking/browsers/chromium/browser.nix b/nixpkgs/pkgs/applications/networking/browsers/chromium/browser.nix
index cc443764447b..602e2e6a8299 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/chromium/browser.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/chromium/browser.nix
@@ -62,7 +62,7 @@ mkChromiumDerivation (base: rec {
       -e '/\[Desktop Entry\]/a\' \
       -e 'StartupWMClass=chromium-browser' \
       $out/share/applications/chromium-browser.desktop
-  '' + lib.optionalString (channel == "dev") ''
+  '' + lib.optionalString (channel != "stable") ''
     cp -v "$buildPath/crashpad_handler" "$libExecPath/"
   '';
 
diff --git a/nixpkgs/pkgs/applications/networking/browsers/chromium/default.nix b/nixpkgs/pkgs/applications/networking/browsers/chromium/default.nix
index 14ee3290c71c..535b87a87fd0 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/chromium/default.nix
@@ -149,9 +149,11 @@ in stdenv.mkDerivation {
     + "chromium${suffix}-${version}";
   inherit version;
 
-  buildInputs = [
+  nativeBuildInputs = [
     makeWrapper ed
+  ];
 
+  buildInputs = [
     # needed for GSETTINGS_SCHEMAS_PATH
     gsettings-desktop-schemas glib gtk3
 
diff --git a/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.json b/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.json
index bca947df473b..863510ded66c 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -18,9 +18,9 @@
     }
   },
   "beta": {
-    "version": "92.0.4515.70",
-    "sha256": "06yhpxr5bg0gx7hmrhc6zg4gr1d9s34y2rb98rpl4dilmc548i6q",
-    "sha256bin64": "1fkakh1r87pg5nr101m6v86y8iyyfba8vnzrg0229kcar7v8wzf7",
+    "version": "92.0.4515.80",
+    "sha256": "142v8y275mysgksvfprc83a7r1dlcnb5rqi8a451fmfnj6wrsq8i",
+    "sha256bin64": "0sz2fvg6l7q7syc5pysa246p03sganmgjdfvind42i8cqxw8gycp",
     "deps": {
       "gn": {
         "version": "2021-05-07",
@@ -31,15 +31,15 @@
     }
   },
   "dev": {
-    "version": "93.0.4549.3",
-    "sha256": "0bkr67n1d75ayd1d9sa57c99j85r83gadzfs8iw7kwiha9g0mjgp",
-    "sha256bin64": "1hac6m668nrdzvfqx3vyc74pnx8lf973m1jxnm3cfy83g7wynphz",
+    "version": "93.0.4557.4",
+    "sha256": "06397k5mkrrdrmd7icyvd1ifnmhincgw5nskgc3m436qzzifsab9",
+    "sha256bin64": "1q2c2dhx1yya6vhr82asf7h2zrv6kjzjv1a0zlfxkp3i6lnivgrd",
     "deps": {
       "gn": {
-        "version": "2021-06-18",
+        "version": "2021-06-25",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "170c2dba1e0c0299fe8c6a441caf2f2352a42ae0",
-        "sha256": "1ylx8a5fxq7aciqs0mx7fld763sqkqn39lb9k951w6gksm15lrn3"
+        "rev": "4d207c94eab41f09c9a8505eb47f3d2919e47943",
+        "sha256": "1jfgksa7rifh3ynnmd7m8xxggwxckz0jnwjaq9m5xapksb89hbn1"
       }
     }
   },
diff --git a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/default.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/default.nix
index 725205c5c209..d16c625e2dba 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -203,6 +203,7 @@ stdenv.mkDerivation {
       url = "http://www.mozilla.org/en-US/foundation/trademarks/policy/";
     };
     platforms = builtins.attrNames mozillaPlatforms;
+    timeout = 86400; # 24 hours (increased from the Hydra default of 10h, c.f. #129115)
     maintainers = with maintainers; [ taku0 lovesegfault ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
index 08d928698eba..3410ab5a25c8 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
@@ -1,975 +1,975 @@
 {
-  version = "89.0.1";
+  version = "89.0.2";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ach/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/ach/firefox-89.0.2.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "c3aef53650698b0787288ff519f6a277af0a0a8010b39602884c81fa7a7aec21";
+      sha256 = "7de9c1dc38a4508aeca588a6ad49ededef067fe7589b099f1e4bdda2dfc99d60";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/af/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/af/firefox-89.0.2.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "c0d332895fdc0d9490ab437fbf7579ae583fd4df632072626a5b6884a5e32d0c";
+      sha256 = "bdff1c8983f94e4f9237cfbbeed6a9e10dabd029e3f4efaf9f8ed0d4cd04db6d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/an/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/an/firefox-89.0.2.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "f13cc741afbf2df7ce964d7cbff4c5e1786c0bfc70a899b0a41c949739e857c1";
+      sha256 = "f2e1157d325a91d41600db763dedbf2344dbcb07c1af04ba02079a3c134a76b5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ar/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/ar/firefox-89.0.2.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "cfd8e7fc3a3bd4802a8c500e36a5936853148258add8f28f7a846e589dc40340";
+      sha256 = "dc65f87a192c5940053e1d696f0b82dd9c4dfd4e1b9ffa70e7e608bd81622e53";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ast/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/ast/firefox-89.0.2.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "6f3095de843fa761b6b277cefcfd9f21d2a13cba06ae8f73acc28d9593bdaa3f";
+      sha256 = "96305dcf9c86fa8357fc691ace8496916effc32896416e3507263e740256fe00";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/az/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/az/firefox-89.0.2.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "9d3a112af9f8d5f7860a9bba0a47cc38fc569df8c005dee2922764b5b5174976";
+      sha256 = "8f5a0a0050bbd221700d3dc65b749393d855ac0b93288d498ed6911aa727f577";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/be/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/be/firefox-89.0.2.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "b75d5f6c580105db60c9eefd4224507009a27fb71f666ec779ae0855c9dd51ea";
+      sha256 = "cad622598b126c17049fd2c18cb8c5cfc0b08a41559b872d2cd474eedd8cc64c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/bg/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/bg/firefox-89.0.2.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "4b20c10d83e8be019ae2feb0e44b8c53f6d6fb38e350b5684de6453f505bbefd";
+      sha256 = "60dcc88ee1532178b601fca3fa1711b83ef40a58f38ecdbd2abf504a74650f51";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/bn/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/bn/firefox-89.0.2.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "e651db4085b62a6be588c5a4794a0969abd9c6522e9cd5cdf8b7d7a88ca45066";
+      sha256 = "d8d48d57861c369631762141ff3230ea6877d1cfa25ab445ff8482c3505336ef";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/br/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/br/firefox-89.0.2.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "14a82b5bac08712c8f3c061b6486ecc53e9aaa4a4191f0b033b67c74f46042a3";
+      sha256 = "93753f265ddab79e1632b17a39ff009d4b0831a57b522fbd042b85ac1b0e4526";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/bs/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/bs/firefox-89.0.2.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "4491e4c2e3761656c974c5bf013d27df37bd051b7c55bd124ee166eb38e43a75";
+      sha256 = "e0f253a239e7bbd89d051377ad3250160154568f92ae7ca7e813b202fb3ab2af";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ca-valencia/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/ca-valencia/firefox-89.0.2.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "8c66eea840003100f62930f4fa41cf778e332b2b1e4e7dc6c3db944435b6b0d3";
+      sha256 = "7aee988a5af50bc98cd9d8ec7beb2c4dcb7183a736be1fc47b5535280a20f7dc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ca/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/ca/firefox-89.0.2.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "421c40f813c13ada56f11aa3d2a2251a50cf4a624ab0258eb966e5d7a602c7a4";
+      sha256 = "ce9617a904bb05391525af0eb6119f333a04d01ae6eecc60096d1bb159296933";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/cak/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/cak/firefox-89.0.2.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "368acab2f5633d72ade605dd6f282a4770ad158886a798f7c0436fb6d81a6aa3";
+      sha256 = "a20708a942536373236c784a93d67a53623dd389c42167d09ddfd2577456d5b4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/cs/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/cs/firefox-89.0.2.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "f9f1e33011abe037ddd72f49a5fe9234935854e71fff37e7d3cf64650f3bf7de";
+      sha256 = "4d40e2d2f8bb1d3a3c2f7319dec6106b1781d717d430bd6e75db3cd8b12af31f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/cy/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/cy/firefox-89.0.2.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "7c872591f802cf9debd4cbedfa2c61c2c4388c4593d29bee5d6592ae2244eb6f";
+      sha256 = "0b7dc949e79d29534651b450c29b9e7458817e4286cdbf7a8602855b5c0057a4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/da/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/da/firefox-89.0.2.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "407fd6bb4c8ffcbc90918002e7ea87a03b055f28e9e349bb46fe1d9b4799ea23";
+      sha256 = "ab37e800cb1f5ced51c3fb18534200a5d68586a31f649d6c7d5e475ea2bc28a9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/de/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/de/firefox-89.0.2.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "81cf44731ee862132542435c32835172857aa031ec49c324747eec0be168b695";
+      sha256 = "6233b625e67bbbc5432daf596e4e654dbecb02e7f8a5511f07f6ab015a07ecdb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/dsb/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/dsb/firefox-89.0.2.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "1f98eeb01f0e124e114b6f001dfcded4dc9daef818e90824b1af69af9a6c6309";
+      sha256 = "2468c1b03785a381525e4fe58ec106337ae8414a3d46894b7a00fc81c1859ba3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/el/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/el/firefox-89.0.2.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "2e425b25e309bf4d34db4bd22158d6cd3381512c7b2b271eea4911504926ff1d";
+      sha256 = "1a77f00567ef8a255a012a33c8ca2d66e0b1ee379c555b110cc660846262e482";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/en-CA/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/en-CA/firefox-89.0.2.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "859fadc75c82575e2240b8c26889185417c8402d49c67b825bae5541cdc3af72";
+      sha256 = "f94fe35737d04152809893a775e411d8d92503addda508414c0d8ddc3d40e513";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/en-GB/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/en-GB/firefox-89.0.2.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "82e3b6f5aa9038e06fc09493ca5cc3d0bd89fcfb3f7ceb2349144c0173e64cd9";
+      sha256 = "bf610dacccf834f4f62c96215e8a9620493d08ef2b2445b675ddef36c1eba036";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/en-US/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/en-US/firefox-89.0.2.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "4c410dcec55127325de16414860b07be84d416e409db818d5cf0124b35b35d1b";
+      sha256 = "964b6b515151bb9a0f4e90e9902afd09ff64bfaafa231480b9829264d36fd76f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/eo/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/eo/firefox-89.0.2.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "6eb0f001d9404d403af865883e540fa022937b1cf004afb127b80dc8c9b7cd7f";
+      sha256 = "e2e4da131a01355c4cc6710ef04b61963609026455d4e8bb51c2675ac44d4a94";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/es-AR/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/es-AR/firefox-89.0.2.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "3446f80af21e7debdefd0a1a075cea17e01b38f72f645c5a29523462c61c85d9";
+      sha256 = "7d5ef9dc2667570752b65cadc3851dda050afad82b9af8de35565d7c56b9dfe2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/es-CL/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/es-CL/firefox-89.0.2.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "47aeea3b0f75b1c03aef60b8e7d3d35c3ae90e55aa1c226df15236066184bb4f";
+      sha256 = "018f07814bf6ddf7891a1c6104ddf6f10dd0bb9595772a367fc0f66b0f1586a2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/es-ES/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/es-ES/firefox-89.0.2.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "f5caf9a3401262eacda0d47fc42c721306e6b094ef8b6a6cbe09081f220c6324";
+      sha256 = "9076d5dfd5422a298b7f35b15d57a7793fc4a84c5acfca02157ae37234a7c526";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/es-MX/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/es-MX/firefox-89.0.2.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "8ed0bc34cfee4e698b287fa67b2112da389d3037d1f0a5abce2002574f162bed";
+      sha256 = "dfddfbff84b42948ddff2527a819d0e3ffd4272c705a5a9d503b5034e4355ecb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/et/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/et/firefox-89.0.2.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "a0239ff7b8d7a6e8e7fd32553612e060a27f75fe846fa6123aacae5d718869ed";
+      sha256 = "3f05022e625074b79e7902b1b43ba141c0b39af65b247eb63d80aa38e7d7df56";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/eu/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/eu/firefox-89.0.2.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "27ed15bbd47c7cb8e9669baefe86f26f87c0d5375783a36135ad608ad4a91172";
+      sha256 = "9996e2133fdb56856bb744b439cba4f2570e7e2f6c46373c75d967412b8fefc3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/fa/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/fa/firefox-89.0.2.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "34dae1000a46907adf080db0d75819eba1d86af97ca0f8f59e33504f4b379886";
+      sha256 = "2a8d3de485d4ab1f2689f50fa06c40653690b7039617c5286b89a5e1483537ed";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ff/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/ff/firefox-89.0.2.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "16ca942be273a5f4eb8c4d1301c36121c3c92a5ef761740c9f86e7d9790d0456";
+      sha256 = "f4efb3e0bc68ae3a905b0e846e6884b3209a3557cef9de9bf43b52987d4b01c3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/fi/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/fi/firefox-89.0.2.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "3381e0937d8e50b8224185bc3f6771787b8b6b76e7c018efbcbd7a1388cef7e4";
+      sha256 = "5d1a787f6d9798d0cbc58b0dbf3fc20892d7dbc0ee1ffaa5a26879578fe8a030";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/fr/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/fr/firefox-89.0.2.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "f41904220ede5be0c206c334fb80ef9f8909dde611b02525840e368cf313e9fd";
+      sha256 = "c07643b687f699f92c4a3725ad3589f9dbd8ed7ed859e49cc8d8f39242cb6b56";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/fy-NL/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/fy-NL/firefox-89.0.2.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "3b87d74f8c51ff952a83ab703cff7875eec27ea486e628485bd463522eb002d3";
+      sha256 = "3cbf0aa2f6fd2842c11b2d774348dc7656f92e78c1dc15e351b30e772a7e3e6f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ga-IE/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/ga-IE/firefox-89.0.2.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "8d943f4f6f88755a04c22f8a99198d67da7504d9390a7b58e419394f22017e38";
+      sha256 = "e0a307dff5bee1049446b9657036e336a2d7ab5b8fe9782b3ca83aef595be307";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/gd/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/gd/firefox-89.0.2.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "c3ec21985b3cab52ebb24ec426e6183442a0738aebf44e2cc7628cdc05c74d76";
+      sha256 = "2ac2e6e617d93df8ca5c3166da944d897940dff279ba842d20b197ed15744971";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/gl/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/gl/firefox-89.0.2.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "fd448acfb8928ef217fe9a84472dca6d48b31cb2e5a35e9dd917703d90967732";
+      sha256 = "359870aa13c2dab4d79bda23c13a43cd899d0fd732089cbd75d44ee2a23ec0c9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/gn/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/gn/firefox-89.0.2.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "42917bce57418834788c95ba39d04b6c37dade212f549862a660ee4736959a2d";
+      sha256 = "a39e9ccb2d9b6b7f0e9303134a1c8e7081e5d56c1039d734fd390810efc7729f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/gu-IN/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/gu-IN/firefox-89.0.2.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "3bcf33442fff5075f55927309b4ff0a5077e22d7353f61e8104510e8a8e79dc9";
+      sha256 = "e621ffee06c2858633505693c3f7da980a3b69d053d641cf796d85d53dd68af6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/he/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/he/firefox-89.0.2.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "c3b801c1ddd23da0ffe7d5b7e14548de627ca1fbc1f18bb8ff7a1fa9fd03534a";
+      sha256 = "8258e2b3e70a1c7ad5ca5c49d482b0dca13f61f0ee7c91f1cb4df704e950db5e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/hi-IN/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/hi-IN/firefox-89.0.2.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "c76b3c099e4edf904a80e9b1738286f69cd756524ee16cdb5bd46f530ae2aab5";
+      sha256 = "1a01c93c3cd83b756dee3a7984187821bf1cfc30460e8ff84cf934f549b0d2ba";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/hr/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/hr/firefox-89.0.2.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "099c31436b175623a22d5a7e5d9f8a51d0ad8581ea08a3799c75d7098b9dbc59";
+      sha256 = "7b896ceaebbe84e015fa69a02c484dce61358ecc08be81915e944e11fbbb3361";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/hsb/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/hsb/firefox-89.0.2.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "c49bede957a044d33299a4d84ba2855ec33a4b7b1359e858d0a5efa93a334dc5";
+      sha256 = "c25fd4d7941e03190bf2472297beb9622825759752e24cde982e1ba5ace2d1dc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/hu/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/hu/firefox-89.0.2.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "30a48cfa930b6c6960bf19e3e2da945bec8879d54bf1189b70b8c1568ba3c234";
+      sha256 = "d8588d5540b85daf24148671781ea9ff814d550bb2bc4f5b42c58480ec73edb2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/hy-AM/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/hy-AM/firefox-89.0.2.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "4af5654a01ad665c4d941f99674fdadf606ad073e6e721debb6d8fe6656519ab";
+      sha256 = "e965b9d0c419d930b5d32e5fca9feaf5498c79b862d86890775625bfcf6d4c61";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ia/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/ia/firefox-89.0.2.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "37f761b735908ecfed4c96eb44aee8566a78e16d9105e170e17f9554a790b5a6";
+      sha256 = "ca72f852352f39332a8483cd8a237bd341fc5a59dd9691a611e3b376339e9214";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/id/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/id/firefox-89.0.2.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "a92b7099ca5ee05e66575b1da5eaa26985db9ea04d5e593ce66561def6d21844";
+      sha256 = "cbce57ce7feebde4bfaf1cc9fb32dbbac93ccbfca3a8bc0f78654825becece21";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/is/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/is/firefox-89.0.2.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "26c34afa51bdea7b66191b931b9d4a8a4821ecf2edd029f0a4487be69a7c39c4";
+      sha256 = "469b8167124a958e8d63ac1b1e71936a586e887c747753be484f5761f41c3ac2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/it/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/it/firefox-89.0.2.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "2411a8c45be753215c79357f06fe403322c10051f609b208b79d182e529605a0";
+      sha256 = "ebaab65016d9c3a5e04d48589b1ed98d3ce8dfd0fcf1a47c301b35859602ad71";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ja/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/ja/firefox-89.0.2.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "61d3370af7c6d478a6608c3d58c3350817c7bc1a85bc3ddc2d21c00e490c4d99";
+      sha256 = "ca67a104f71c48d61dbf6edc927c4081129aa66f48dfd504edb1ece7a9e2277a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ka/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/ka/firefox-89.0.2.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "834c755f037c2ed757a6972dcc3fc1bd5c36ee2639103dcfe094d8f4fe630204";
+      sha256 = "5b5c42725b471cc505a9b87786fd3197903703235495ca81d87c19d96627da45";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/kab/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/kab/firefox-89.0.2.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "4c34d72a8ff32bf83c35521cf25a6ce7ee0d5ca2389e0f04dec487b33b90d7f3";
+      sha256 = "0fe867e946add17cfa0d7b55c8141ba2d01d1f369df8ad4afa40c6ac723d13fc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/kk/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/kk/firefox-89.0.2.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "da78bdb506b0e0ba7798db6fcd92f340c0ced478a978f55ba87757bc2d03680f";
+      sha256 = "0f2cbf77404aefedae1ef092da3b55ce3f5f781af8a9e7017a458fb535b23ce4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/km/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/km/firefox-89.0.2.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "5288f6056c2bc039a9aeb11f5a94558ced6cdc7ae426d9672907e55c00c115e5";
+      sha256 = "1bc3a6e917ad851cac0148788da0c74fd3879732aeae5c188d964d2cad4b3c15";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/kn/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/kn/firefox-89.0.2.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "347f124b56f12a7a2cc98975f903e30df7fc6f72f530e3de61e0cf669225dc07";
+      sha256 = "77fc84153e242e6f07cce2ed4456e7bb9556ddc1048469ae6dbdec99cc8e96c4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ko/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/ko/firefox-89.0.2.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "7685b7b855173a1e666da68a91d9b6b10f60cecef51fd92838d00a0169ed2bda";
+      sha256 = "5eda0b318f39eedf6982aaf7965a086372e0750a3acd711d4b7474325216b2da";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/lij/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/lij/firefox-89.0.2.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "07026271b7bc2d4e9d828641cbfdf9964a43cd079b5a0b5fcdce9854f924ab31";
+      sha256 = "393223aa925d239bb690b910144a702b46be7e8e256ab52b246e1372e7f89275";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/lt/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/lt/firefox-89.0.2.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "2dfd96e06aff4016245b354f42c7556750b09a32e967e59f548ce02b808e8549";
+      sha256 = "8cac447febbe03018759b56f2e96ce07f78c464aa0da3ebf17fc731da0602b46";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/lv/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/lv/firefox-89.0.2.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "bc461287a33dd4350e0ee74231716fd1aeaf648cfdd40a82108f57afa3ce6b67";
+      sha256 = "5c000888c60575410a8a851bc2ecddbc981c512683411a1d0792e43e07da0c71";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/mk/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/mk/firefox-89.0.2.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "29cc097af990d0297b04f63a880ef47d04e8630ea56dfdc7537e2df48b54af17";
+      sha256 = "5bf30fa470ad03c9447ea3e53fde900e8a2f51a607066ab50c713a93cd6e9b06";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/mr/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/mr/firefox-89.0.2.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "741e33e2121a8da5a9c87f1c29fdf4e86ac1d0c70107c6b1d6ec3efea5345474";
+      sha256 = "f842218097dc96dfed8726d971a1383dc60e9054f7f974879e88dbcc615daaf1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ms/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/ms/firefox-89.0.2.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "f8a3324e0aa50846a82c6612136ab75369b48be4a68dad0ec10829ac00ef6c7a";
+      sha256 = "dcff05df156a85049712eaf31a5f7676a047c94562529a9cfcad7320f3fcc4c9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/my/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/my/firefox-89.0.2.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "d081a78a74ec384b5c667cb66b02aed9a6e662eccb7aa0d09193d08477607d09";
+      sha256 = "f6b159ae83c05440c0d3e2fb4af26b63df4a776702a5afbef837f0846faf41e1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/nb-NO/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/nb-NO/firefox-89.0.2.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "1c0908d2eb8aea6a3142b6c6df231106456f9203c9690c0384169bfdafab3286";
+      sha256 = "9a3520ab261ba3c5e599ee04e2a6d494ec6471b8ef1dec266d45ecd530bb1a85";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ne-NP/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/ne-NP/firefox-89.0.2.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "1fd524963622ea4d489b3bfe5c4557d9e9e55592d41eef43dd25f3be812c7b59";
+      sha256 = "d73479851c04957855f3ffa90a14d40ee249ad61013ac101491d1d60bd9ee310";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/nl/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/nl/firefox-89.0.2.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "41d9351c46d0567d5d8daf76223ebb782ba1deb9674b7ed91a9b5b500715a2eb";
+      sha256 = "91fa566bc4fb42633e8e0a1ce8cb4c5ae9a3f730d3b4541ec128ba83319320c8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/nn-NO/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/nn-NO/firefox-89.0.2.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "b382dd0fc83aab0cbf1a9a3db06b0ef8e6761bd4a2b6f892ae6d8c66543f1c7c";
+      sha256 = "9e46ca01cbe183474b1fb3e5d59e75629bb272472c0aa3a781fe7e47723a90f7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/oc/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/oc/firefox-89.0.2.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "45f902b3c850cb11202cae901aaa2f04d46640ad12a751739886afaf7303f92c";
+      sha256 = "d5a208d52747413ef2adbbfcbfd7264351337ee57e53aa3817857c0a996e37ac";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/pa-IN/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/pa-IN/firefox-89.0.2.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "0b1a82b3f92abd523f3fe515bc710fa929a6a4c5f144888da7562a0468fa6c2c";
+      sha256 = "d79022a314255210a3eb97f82b9653a20612dc871d6c418afa1a7e0fe63d274d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/pl/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/pl/firefox-89.0.2.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "6f875bdf96d4f5cd930b986301b636b8b12e77ce4e5c57714ce72c90b1b09855";
+      sha256 = "accad8da9a17749f43c676a69391b5b33a9d024624783228eef7ce48af56cb45";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/pt-BR/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/pt-BR/firefox-89.0.2.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "4ab0213b483cced916a08783d031ab9dcee79fff8f7fa7df7e3ef7e3c675ac0d";
+      sha256 = "6f9202ef11e2d4368ccd0d6d98daa62ddabeab51087b84fe340bd935fb754f36";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/pt-PT/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/pt-PT/firefox-89.0.2.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "9ee9fef10d1fbd75810360f87dc752d012eb0a59230ec3af7456fe5c3232f8b3";
+      sha256 = "8020109a785542a33f3139fde8b0cea5920ac1618ffceb96bcaa81627c5da772";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/rm/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/rm/firefox-89.0.2.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "d46e4e83457dfeccf089943be450142b05c5fbfa4995c2c4895b45574cc16f59";
+      sha256 = "0e97d8aa72831ca0ec8d33f6877fa904bcc2f7ca3795bee85121ce5589388e97";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ro/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/ro/firefox-89.0.2.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "dafa16a340e7e2ec072ef6b741ac6bb25020c987a911ae801bab565dd2be45d9";
+      sha256 = "6cb71deb1f0b9d42b20d9400d6789b7b9b88a057f505a68491ab493eca0f4313";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ru/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/ru/firefox-89.0.2.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "3b56d48361fca1138058226f87b01d360efe00711e4415d135b90fb4cf8f7a99";
+      sha256 = "a492308ff61a2b4673d178caf47e480376bb6b96ff8965a360f6f49321ee51e2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/si/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/si/firefox-89.0.2.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "0ca008b069783293caaf83a619b11a31cab914f07ffc1ed9467aa11b5e9665f6";
+      sha256 = "6858b2100d235dd7770ec003a4e9c2374354ad9f3a682aa9afd2c95ec2b81ff7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/sk/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/sk/firefox-89.0.2.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "ad3990143917a5ae23ccc73141d8bf66ee0bd7be6d4a0535066ca8efd72ca10b";
+      sha256 = "bf74268fb305ff461e118641cee1b26ba687d9dda294284b2a5d4c7f6e5bb39a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/sl/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/sl/firefox-89.0.2.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "42de516865a08e8e623228355270402463df84be4ed7a7f097f8aba2b19ce7f4";
+      sha256 = "fb2ea5d4b1fa4c7eb88806efed2b3a0c724c5d81f716b54c015d7d976c457f5f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/son/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/son/firefox-89.0.2.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "244caaadc3aec2100965a907c2351295af042f8e61c34c907195fe0a421e6126";
+      sha256 = "75e6a69bf9ca85c1d214202de55f0b5c831b41c22d375448db6eab3f7161779f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/sq/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/sq/firefox-89.0.2.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "87396558a8c6c734f0e2e530a653dec48fe253f7dce3021acf15d2368a098e80";
+      sha256 = "bbe1935033db10b0004c7746b089040decafc0cb04825a5df5004905dd470320";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/sr/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/sr/firefox-89.0.2.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "9dfd2e79163078b550f37a4fce6e4dd0a62e43863f6b404dc7d9d13f734daf45";
+      sha256 = "cd97fca2ee3d57c418e0bbdad529c1ec424d18a0aa5976a4cff13fdb7bcb3f39";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/sv-SE/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/sv-SE/firefox-89.0.2.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "57e5b7b45ff73c933314ed68d975c46ec829c3892cec81ed9eb71e723ede541c";
+      sha256 = "a3eeca622d63db7fd94fcd691a2d910380e211bb0d78d131587a448df6ebc635";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/szl/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/szl/firefox-89.0.2.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "7ba369f8f2a2e09b8519e600b5d3e7eaeb0b3afba613c4d8aac42d052bde3725";
+      sha256 = "72c868394c285d890fbdc560813803aa26ae5342f36a6864588a829cf4639c09";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ta/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/ta/firefox-89.0.2.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "26d0cae7085440f36258a17b9eb1d275f6f6ae9d952dc57db824e50ddc4b4b72";
+      sha256 = "c87f9e8d7f5935c30f9a916fb76990d0678e9032287fffad48230d5f66aed24d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/te/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/te/firefox-89.0.2.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "f168c75e705f9ad8541b0314bf0d679ce93306044c5a3ee2158fafaaa5b08139";
+      sha256 = "2d415574a612f011c22b782e439025d1a50ef12217bd3b538ff36010747f1eea";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/th/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/th/firefox-89.0.2.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "1b10351919e931f9c7f812b023447a7acd2d6133d64f9bafd1999be4ac7c7eaa";
+      sha256 = "7c73cff2af72421231b9a03d3196186db98ce6b09a0ccf4954219506b50c27cd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/tl/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/tl/firefox-89.0.2.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "c0d4c14a6adcc4c3a82fdd6582b5f14267c0d4a699f4dcc6b0047809fb2872ba";
+      sha256 = "6a37fae3a5c0156827f6b69aaa068aca6982cab7e6dd242f74846e743c00f96b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/tr/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/tr/firefox-89.0.2.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "4f68ee9496bc452ef04f12d91f3170658b445dcc45748543be88aaaf3dc5afce";
+      sha256 = "42cd3896f2b726cff21ce0cadd4135ae1f325dc3102efa17cd3a3c5c6948c6f6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/trs/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/trs/firefox-89.0.2.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "ee8f6e51f72a03b740895f3613151d56e41ceb91d87b88bea6a96b03b62f2b01";
+      sha256 = "1ccf3ce127603a42fc5addcbaa238b36e9bd798615a2e6bfc95de7db5d12402e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/uk/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/uk/firefox-89.0.2.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "e2f163958964fc8379faa43d8f9a75f9408316c38692399df174da85dd652610";
+      sha256 = "2ad2a6306019dd5960e4e25ec59c7fb2eec0c233f07c04930049d5d75f3b84f5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ur/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/ur/firefox-89.0.2.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "946c58aa07ae10614ebcbd70368d0c557b3389616b73af8cd62be4147c5a5ddb";
+      sha256 = "e63605011a8cef5e239a39a21edce7b1e2bbf342827888e1ab36c22bdc6ac5c3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/uz/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/uz/firefox-89.0.2.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "1f72a2e18aaffaf9155d497cc8a1980f559e0510614817e6797b3b9baa21ae2f";
+      sha256 = "8f5d446ce0dac4bfb0640a492de57d087336578c157c238a8e3e9f186408e337";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/vi/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/vi/firefox-89.0.2.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "33e393cdbc7a4d615231ff0220b1756d3466fdc515e7fabefed06b6e89ae43f1";
+      sha256 = "5f62f1e64035a158883e7e774cb87cf15b336bdd2171ffd65e13ea8cc81c5542";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/xh/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/xh/firefox-89.0.2.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "0c86fe6385c708730b7da7d667e0af6361931a851e049774fdd248ee42c448c1";
+      sha256 = "ff111b178134fd2dfc6f7597b6c33b4a8ed4aa6ef64c6687bcedfcef26982d5c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/zh-CN/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/zh-CN/firefox-89.0.2.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "837007ae8e7f27b03dbb181076b97c46114abc6278b58d7c4f8fed6c5e63eb9b";
+      sha256 = "90af3045eae839ca67a42e8ff810156ebe6115c3749e0547e907ca910eef3ef1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/zh-TW/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-x86_64/zh-TW/firefox-89.0.2.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "bc56588c968f6a96deb7e0260e6ab0c4dcda0d621f1afb41301eb5600bc410b7";
+      sha256 = "5285b29bd463013c80cf23db6947cc720c5327a71a9dc35e678444e7ca2f3a42";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ach/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/ach/firefox-89.0.2.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "df2c7fe0b155b29c56f60a080c34cc36879263306893e1c14534e10c9f1fbc3f";
+      sha256 = "0de413f3533dcd0fb5d2fdcf63673d814afb611324cb32fe9431f59b735ab152";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/af/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/af/firefox-89.0.2.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "deb365e2dcb01fc8ee217de70c90a45db77cc3b7cbd3be99ad9c6ba1cd832bae";
+      sha256 = "98069b18e97b3fb887d191321bed74935def28a4288abe8765c27acb62812ba9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/an/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/an/firefox-89.0.2.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "cf3fafc803afa90f6a7143db768b2b02bac568cba609eff91372933883595a78";
+      sha256 = "d84d8c1ec45d53207b48043b8f468bceb211b199a3a5e76337700ec8b5f40f04";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ar/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/ar/firefox-89.0.2.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "ea2f11bb7b7c2be08898b3c62d28f6e6d98f3a3b7e58eb73f5cedbb093d2d197";
+      sha256 = "22dea08d8f9d100881d9a3e5b56d2618502d6d498ea56ad7cc6afa8e862bc7e1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ast/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/ast/firefox-89.0.2.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "4dde1e5c897bc61b6743887718da7660fba6764793520c2b613aa9cad8201363";
+      sha256 = "e92ea890c51def74523dadae1f40f1fdac4816db50025e12a6575d798febc1eb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/az/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/az/firefox-89.0.2.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "c70e104de05c2fd8c2dc08529f4bce842a63727abe02fc034dc6bea6ac0e453a";
+      sha256 = "abb1a31a0374b95fa3ad36fea893c39dd8056f8a06e4d94dbfced3d80bd8197c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/be/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/be/firefox-89.0.2.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "01f9fd2e5c22b943c14a23c7c6f64374d975ccd0f703fa997966a029eecf9830";
+      sha256 = "c5a8895155b3e4cae1c3541e66b3e551b3c14460d2e522ba72d83b5d702a8889";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/bg/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/bg/firefox-89.0.2.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "3c1d11430f1d8a12ebafef6ba7d58cbbd8367f79a8bd67be59784dbab566177b";
+      sha256 = "b6b811ed0e53795623f6c928d0411600aa2ccdfc9fa890e846018e085bbcc6ad";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/bn/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/bn/firefox-89.0.2.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "1b3f2a6735ce96d2a8c54abe10605ed538d93e8399929a10db58a2747c6fc6c5";
+      sha256 = "4597c3c41daa76c3bdb30d3fcb4cfbc51a7571bab98abc8b35f6b7ae2df1ae5c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/br/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/br/firefox-89.0.2.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "2d9d51c43cd799eae68bc2a2bd3a9df536ebb8a4c4b5b2b50a37e5ecd5c89d0f";
+      sha256 = "5346306c5cdfce1b3d7ece50ea1fe3dbe9ae69ccb83f70a0a2c451972ef40afc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/bs/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/bs/firefox-89.0.2.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "ff8f50cafb6fe193426bb4515d5bfc26762ccbceac457bccd410b0b90f2c4953";
+      sha256 = "260e08c62ea7fd0d6d130453e1247588c83f4e0414aa569dc23f100bdd534347";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ca-valencia/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/ca-valencia/firefox-89.0.2.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "25a81748aa98e7f9a229ef9c41bd5ba510992007de1d0d9914e177cea39f40ab";
+      sha256 = "855660233c59d97b05e56dbc2efcaa1ab538c1433ea14e2159d3efca8531ecef";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ca/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/ca/firefox-89.0.2.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "6705d219e8172fa9a7ac0be456cf478c52bfe6bb2c2ffc3ccb092a765eebe760";
+      sha256 = "b71bf5b2137a715fc75c36d9ee9c1e20525f31b8a2f2dfa56af51305a94058c5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/cak/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/cak/firefox-89.0.2.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "5729247afc3641abbb7c635af8b29ff3e318100cb6f99e44257ad4116d0830f3";
+      sha256 = "fbf2092e4b56716042f993eb4d5bf41a9518da2243245282c9cfbc812c8c5268";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/cs/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/cs/firefox-89.0.2.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "8df8fcaeb007b4f806d99708249d3a5f75290697f3603cc687178c3bb1bbfa04";
+      sha256 = "466a81994a51fc42ff2b936a2e2d20089524bb514031f740f7a6a0865ff57b1d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/cy/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/cy/firefox-89.0.2.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "204045469734cb01c6cb6ef20821598e95e1fc09905916b5ec89f65381479aaa";
+      sha256 = "ef3596c10627fdf196a5f52f59240fd85d6eab33035cce708613c7dde041b413";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/da/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/da/firefox-89.0.2.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "48ad41a8bf13ad4a73ce96446f39662a6b5e36e095781149fff7ae3abd4440b8";
+      sha256 = "946b42c16cb861b21a0a1808cfdf554c955998aebcf59299c240a334abb8aa47";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/de/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/de/firefox-89.0.2.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "cc18b67882bd7e3e5730db647737339bc9671db4233021ff9b08195e6b69799e";
+      sha256 = "b4d003e8abd272870ed332448aef29bf2bb40de74ac0640912a65031da5012c0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/dsb/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/dsb/firefox-89.0.2.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "4a40743c98b1c90eeb52edd630203ea5332edefeda10a4a6f1ef3776a1aa141e";
+      sha256 = "57c7b439616ec7eeddf05c7c5a5fde0947092762c5d5f98e87c3850a3ee768de";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/el/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/el/firefox-89.0.2.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "3705e4bc4b596b1ce306a1aab9baeb36c9abe68311250d63241cd13e0b9985b3";
+      sha256 = "3c444a23416b6080d2d6b5e8744651b4f4796e3ecb601c8eee3f21cca8eaf224";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/en-CA/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/en-CA/firefox-89.0.2.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "d8db313b5bb951a700e9ca09fce94df85eed8a29a1da5f8b836611082a8b3554";
+      sha256 = "aeb3d01315db024984739999b9fbf1eba0464a7a393451d311fcee786509198f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/en-GB/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/en-GB/firefox-89.0.2.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "0066683ff48764227f3d34745822278aca39d7acbb360792c70b04721a0aafac";
+      sha256 = "c327ce261f0c843eb6a50c7e6ef9d3163548d03391429f9a55c1adc6b9969759";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/en-US/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/en-US/firefox-89.0.2.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "597ff6299349e614f36a9aae3e394e3ba95996d0a4caf372f58bfba88344fd11";
+      sha256 = "491fd0066a893fdb3a6cc58e3e0b6b02f15096d07563437a79b2727d09256890";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/eo/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/eo/firefox-89.0.2.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "d24b1d6ce2db66e426a92cf8b0eec239e44e32f06be9ca1b3f7693b6dba02cc0";
+      sha256 = "1c39ec1e448288541cbdcc10f7d66e8c36a66d08b1eadd9f8f90e590f6473908";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/es-AR/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/es-AR/firefox-89.0.2.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "0e007e64614172fce8d0d3a0f1300c86ec9a3e65f5f08aeb185d6bf92b7458d2";
+      sha256 = "fa8dea8cecce162a25ae9d2640b35ab5f9f2073c136d051ee4795caf8f888aaa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/es-CL/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/es-CL/firefox-89.0.2.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "26243e3c23de7043945dfd30d4c72676a9de185dfb957fce0a57d13751490e46";
+      sha256 = "e156fd02f2c1c8deaf416f17d78dea0433e0e84967b09233ceee9e33cbe42bbc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/es-ES/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/es-ES/firefox-89.0.2.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "97562d93466b9090bae4f8a1a0e54e142336a125f0780db1ad451c0dee5b4c70";
+      sha256 = "7359fc86b0f6da2916e8f178295c85ed3c8abebc1732f7735ec7b2f4c2aeb76f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/es-MX/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/es-MX/firefox-89.0.2.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "faac9af6c8f3f1bf5042ef8c9925310b48232aa8402c71d642f02568e2090a98";
+      sha256 = "57bebe4dfd2812c8b48f597893738b0cf9badbdb11fe1e3cfeae45290dae7f2e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/et/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/et/firefox-89.0.2.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "adff5a5159dd429c3edc52e5b002952cd09c6edf0486fd52326d70ef4f3ffc10";
+      sha256 = "71e3d1a1bf3a8d480cde7cf8ad747c90b8eb217cadb445ae1ed3aa10c1232275";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/eu/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/eu/firefox-89.0.2.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "84f7fd609d5b17ee0a61221e1bae0e6a45a999456ce7f0678d43c8cb4a89a640";
+      sha256 = "1e38c53105664f6dccca1b67928222f161c6de37f9a661c46a8ffafea3600cb3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/fa/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/fa/firefox-89.0.2.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "59863d4ecf483793594467d284801611490cd63d67f25f0379b94893e4b649f8";
+      sha256 = "b72165e2561de0d65e6cf991a4f5e4ce72fffabb23d80f3b7408c03e1eb6d0c3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ff/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/ff/firefox-89.0.2.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "22f84985e8df29dbad40bf04e89782f8e0d7b7452e99a0dd03ccc28e2291615d";
+      sha256 = "9f2d7b11c3a05fbffee4d4e9dd5f3b397fdf3edcdee174a0907b1ebb1625ea62";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/fi/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/fi/firefox-89.0.2.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "600336c950eb6eaea362cc701b1b62807ea08a15cc0307e0a5517bc82388eb1f";
+      sha256 = "29e2279d03732703576c0dd43afabe1f416c14d517979f6dde78ab42cb561d4e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/fr/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/fr/firefox-89.0.2.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "2dc908dc69460caf327dedf888877a77e6637c74ee42396ccc9d809462b2a9b1";
+      sha256 = "93bda1a56ecce4dfd84fb9333f3b333887e2014edfdae4b555b6a4296baf4805";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/fy-NL/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/fy-NL/firefox-89.0.2.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "54eff2e75c2f7a9041e11ec9cc65d648e8d8fb86d04289ad8357a27ae3745daf";
+      sha256 = "1238d1e763457d4e9cabd00505cce7ce3dd9979e41ff1d1b005e35a229d8dce6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ga-IE/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/ga-IE/firefox-89.0.2.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "7e3ac69d70b19ec7b2638b9cf09d41fe6b1b7b559a6b74e110857cdd73e29009";
+      sha256 = "8eca1fbd8f536f62eb645ddb5cfd5e9c573492ef7a86f86a930b3a09829eb9c2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/gd/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/gd/firefox-89.0.2.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "dcda84a97053b0b38ad11b54e94829757b53160515033fe97d67460017baa74a";
+      sha256 = "dc173ac67ad7353229ee1c606ebde73c4be2ccf64ee97f3746e45a2766031e63";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/gl/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/gl/firefox-89.0.2.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "a0f488da3db379917f91d581dac4d9651221d71d6f25f4fe77d3535b2fea48a6";
+      sha256 = "038bd87c6c72727d6f535b863279b03d6e2c979672d717556222b280327cacf6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/gn/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/gn/firefox-89.0.2.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "6bc654decaf2c06bffdf7ca4ef19dee874460707bd2403b8bce18b687656ab87";
+      sha256 = "42f4d4fadeacdb003db6104c0003cdec7ee81558d07b11573e7d0fab9351dbc8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/gu-IN/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/gu-IN/firefox-89.0.2.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "918044af5abc8ace4a5dcb9c9c5b41fa38a9ddaa57033e12702c0bb72f28136c";
+      sha256 = "6dfa19890282d88605585a5d5c640d200d52d8c0bc61218fc2e8f19d16a9811d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/he/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/he/firefox-89.0.2.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "4a89f039cac4183ab2c8b56b01b017a8d7c03decea1db505f2980608fbcf7f13";
+      sha256 = "a16c0423c33f6f05f9a1aa607232506e7353e2774d7edc224e3955813d212eb7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/hi-IN/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/hi-IN/firefox-89.0.2.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "4464d61c0201b1552ee26350cf2b493a2ac1a31360f1d12dc96c461a4679bdcb";
+      sha256 = "fef5a9c06a3befcab35a0532cdcdaa3c6757a5ea5b6bc0d4ecbc684f37443077";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/hr/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/hr/firefox-89.0.2.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "fd469c3fd650150b19f3a5260a149b3c143232ff50be2cbf254559cfda491342";
+      sha256 = "464ebe80e2d55686a56960f6a6789b58127e86efb5bf7dd8ab79220f49790659";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/hsb/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/hsb/firefox-89.0.2.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "1d474b7ccff2db0fe1e152bfcdcb297eba2fbd67006a45c47710bd908cdb34d4";
+      sha256 = "92458b19e0a3a8c573a126f120d3da76f185d9822c5f32c3d56f3cc90d999f55";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/hu/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/hu/firefox-89.0.2.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "9118d6ec7a894e56859844af852e1a44b1435efabea3e9367b2efc4475441005";
+      sha256 = "9c078d9022a2d83444709fec7a4a122369ceaebc4b27b99bbec9c67be4370ec4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/hy-AM/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/hy-AM/firefox-89.0.2.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "6285f019a28b459cce7aa93d952a5dab173fe37afea9bb7598ee74a8dcfb811b";
+      sha256 = "36b64295d46fde7a85994e374b38a8781bdebb4e15872f81c8e694b4218e2713";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ia/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/ia/firefox-89.0.2.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "139abcbc3350df9df5677cd2f0e31cd594155819a9851b6737d0ba7050f3ab4d";
+      sha256 = "080f890f868a4c7e7f03db96ab2c25b6f39dcbb1f960052ce75dbdd5983487a0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/id/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/id/firefox-89.0.2.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "d0cb63e16f951d58d6c21db712425c1b450f1da16b40bf3e49ae1a4cf8e2e8d1";
+      sha256 = "b43ceb1d6f6a003aae01a02af15c0e4aa0fe9e8547703adcd872767c2c797717";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/is/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/is/firefox-89.0.2.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "6b42977a83f5d8165ddedec7844934b7824914d17c2ff2d48b403f87daf31a84";
+      sha256 = "35edad7f2a31b7b2ffe0d8eee2b0f0ab94f5f91c8b2507b344b7d28ac13fbbbf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/it/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/it/firefox-89.0.2.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "1b00bbdf3b2abd8e7928745848575bc5c1d930296a137ee2e2ea738fc0bade51";
+      sha256 = "47f17fe75d1ddd17a4c044dce4dc223a69da7f7de478b87d58e8f99d488ccf79";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ja/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/ja/firefox-89.0.2.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "bf41ea9206576aa54c80c150a0d3ee9e64ea48d7af3fd0eff5932a77fb6aab4a";
+      sha256 = "86850b09c992a6383a406e99bc8698b8471f8240cef752126714e6f070e2b220";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ka/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/ka/firefox-89.0.2.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "94a3407698612ae2c41895667574dda7d70494f37c92a62adb747d08a2f188eb";
+      sha256 = "42297e2f4c1d72bc46dde66ddca934962b2aee9a918e24b90870fc5774284bd9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/kab/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/kab/firefox-89.0.2.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "e4ff4581fde394ab872da84b8a53667d5c187a8140ce141f3f6303211925c74d";
+      sha256 = "7f00172ed2f2285ef5b8ed3774781f5036c1cde57f1a321f9b91c54679ef68ce";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/kk/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/kk/firefox-89.0.2.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "8ed66c7dc012484a729033f5dde38434fc79e252e2751912f0065e6a1de939c3";
+      sha256 = "f7046b78d72074fcf0f62c7d4b660cb8a63095dcd8c24fcdfc61c574ddfb42ae";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/km/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/km/firefox-89.0.2.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "a05e53fd532bdc1e8ce6b499aade94392cec0cde35b5b1ca788012be841b0867";
+      sha256 = "4157455134722e29c8a039cc11cac68cff7ff9311405a2c71e30f982f12888c2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/kn/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/kn/firefox-89.0.2.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "c3877cee047ee1fedb0a2f88b47e38a23bccce648ef777ee92c290cc0e29ad91";
+      sha256 = "ea5812c8eb194be0e8335f48ebde884a4375df2513c9275ac551aa0b18580dc0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ko/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/ko/firefox-89.0.2.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "3cbb7cbf5841caaf14b0f00793e0c8127e363a5d6085435749e8ad16a68fe5db";
+      sha256 = "b25b99297a64c9a700d9dd285db01d6f859402f09b38b2ada3bfaf914c72ec7f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/lij/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/lij/firefox-89.0.2.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "b48e14cd64854cbacf38c8fbf40e4c8efc4c2b32638c783c4d3d96507d5ef031";
+      sha256 = "2c875ea5c87840527e2dff471fcfe774e8ee4d01c764bf1d73da99d9e875f4ac";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/lt/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/lt/firefox-89.0.2.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "55f824b1e006204af6aec22e8a0ed41912910ea973d71061dade0efb747fb5ca";
+      sha256 = "27dc824ad230ea5f3cfaafa4024733de85e67cc1b6678aae64686b6a54042855";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/lv/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/lv/firefox-89.0.2.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "a5181dbcd91adfcc7491c4e65b12c88641f6783b1be7a706b0070d72af5cc784";
+      sha256 = "ad865a647d9fa2b20c68ea2d597595aa9b03bbf40987e763d1225fffc91176cf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/mk/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/mk/firefox-89.0.2.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "9bfa4b3f16866559ff3c1882cd9df858a16a76a57035eb4d90e774ce220de8f2";
+      sha256 = "85c556608247de5e02808f264c721e16f909c5299f6ff423ff0e594da87fccb7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/mr/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/mr/firefox-89.0.2.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "34da62c84c4d2b60bf6d408ef463d02f4ebf6033ee43e1a1877790acc7c5c266";
+      sha256 = "1970b70f983bc985778537728b044f27325bfa89cfbea7e000e91e5e66fcea1c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ms/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/ms/firefox-89.0.2.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "e1050df16fdd8ebcb150b0e8dc3d2b7971aa7b6dfbd0e3af111010ace20e83f0";
+      sha256 = "ca86002d548f94414fae96a266818ef4038c06f7307be854a997c5ff4b3529c3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/my/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/my/firefox-89.0.2.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "7b1c60636d05d2a4d8870914e3e9c987238130386761405dfa5d58974d87a3ab";
+      sha256 = "6e6af248e80428fc0314be80a66f5ab054437e119e17c84eca6e8ca9d34db948";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/nb-NO/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/nb-NO/firefox-89.0.2.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "2c0a10343fcf03832e3e72422105bff5309e8c0b6fc72a0028ec4508da766501";
+      sha256 = "1310663a3617f78245e46dee283a3932354b9774a39555849c342a0620fe48bb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ne-NP/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/ne-NP/firefox-89.0.2.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "8bf34314274df2fc24b1df397196be4208ed4272e8e3d94ce8b2c1c67c2559fe";
+      sha256 = "ffc16051f275d04978c1414f919cf9dcde219f998148c9ec2e4f63a7620243f8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/nl/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/nl/firefox-89.0.2.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "513585b358d9f568b83bb007575e784a226787857a12eaf56fc4ed3129794c08";
+      sha256 = "e2a654e66edf777397c31ab1a6862a051071abae376f5d2ceb939ee7c86d90e5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/nn-NO/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/nn-NO/firefox-89.0.2.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "1cb4d644f25be41853881c0a5c546d980f3187e1d4200882b3f0b4b29788f121";
+      sha256 = "8b2ee4cdd6346b918a5de6c1191d48f5606f40414ab3332129b10614495e1f4a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/oc/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/oc/firefox-89.0.2.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "6105a8627809a592e0d25c75727e7de9bba0aa2132881e1d92893d23a63216ac";
+      sha256 = "cd7bb8a640662df12a56cd15569ff8eb611db31a4df676427c1da94579a5a37f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/pa-IN/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/pa-IN/firefox-89.0.2.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "9d75deee44763cf053759265f70368d3e38d757d4e17ac047c0ebdc4274d67ab";
+      sha256 = "18ff5174c3ce73a2733c2f1ad579e9d87c249af5aa1f708c0437d11c720e7669";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/pl/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/pl/firefox-89.0.2.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "e46966ca0252af85040908050f2a796e8738c8d655e3e0821abd9e04946d3dfa";
+      sha256 = "d187fdac08aa62958cf2238f6e2749de5b8701634b99757e043cba0218451a26";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/pt-BR/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/pt-BR/firefox-89.0.2.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "38257f2c7b720f7211f4c2751cb437b51125a2671586f94c7253fedd20327e9b";
+      sha256 = "63c81069183b3862e2b379a5d6a816aa02338ac0c324e33c0e020f579d9e2ebe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/pt-PT/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/pt-PT/firefox-89.0.2.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "71502095475efc0d312d95d273938005e65a0762989afc81af941cabe00576ff";
+      sha256 = "5d24712703b54d2e4aeb82a2ce95b9d937e58886574b80252450b7ede7120d23";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/rm/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/rm/firefox-89.0.2.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "1e8ff79776d84fd687c96f65fd6946f93f0d4bef0b4e0c3801d141eb86537155";
+      sha256 = "cb6bacee900a12c51960d2175caeeba96c57908d860bb0b64ee2529ffde284ed";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ro/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/ro/firefox-89.0.2.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "670d0dc6acb8263522976166d6182ac812660da894e003ec2a8a7bb850b369e4";
+      sha256 = "29d344efd66aae4645208746a1c8083ceed01ffe8b8c372e8e97885e385e3e19";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ru/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/ru/firefox-89.0.2.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "76253bd1af33af76e7d81778a4c92fd303a7f434299ffbe6a486506c91ef77b7";
+      sha256 = "17b9ba80d6dc056fe774e1836533ebf44be27edf6123c3bb430a00b1f2a21d65";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/si/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/si/firefox-89.0.2.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "d057fee3a98e8b197f0b2241e5c2fe2492d8f6897fce422109d3e5633b060b8c";
+      sha256 = "781b6ccc99d8f886e6bdf103327332ada06529ab6b728ff4ec6bffb5d176abf9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/sk/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/sk/firefox-89.0.2.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "5733b44ee973322491bb9d08888ea96fe37e0d27e67a9f2b97406bda895c95d2";
+      sha256 = "1895f1c5ac0dd749a3e37576c6a90f9b7c5f3f7e9eec24af2cb9a87dcb730127";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/sl/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/sl/firefox-89.0.2.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "7d860c5490f081760cdbcac1bc5c9849504a94b5f87f5de9be760f0d6ed4686a";
+      sha256 = "b3f27a10c094a7d9e308ab0b2ccb3fecb94a8f596b45ace8f66f0dea628e68da";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/son/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/son/firefox-89.0.2.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "81500d4f2944f5fcc866cab7b194b1474aac2335d28480f27977799a91d70560";
+      sha256 = "376bab9502491c3946538e3b26b7a106895bd41de918cb268337af4ce58cd4ac";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/sq/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/sq/firefox-89.0.2.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "378c7d9914056f8dd0e44bbcf4beea71f63983a5c18b6a1a51e009f45dce9490";
+      sha256 = "572251b4b621551e7a2d889489c223fd4dc08b9b19242a2524ffd3cdec53dd01";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/sr/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/sr/firefox-89.0.2.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "babf462bf5548b87f6ac1fcae5f80308cfb164944a65eb345fa7d39d13d4e5db";
+      sha256 = "50e594b3857c7ed71bfdda5f6ad7a2460508d029055e5ba17b8eca3269659ae8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/sv-SE/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/sv-SE/firefox-89.0.2.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "b52c8f84ba69754af44a580e3553f83db872d0b66073ac92cf4bdfb4df735505";
+      sha256 = "b9dcabfa670c6a8f3de85558bf2ea83ff6741754e2eb9ea90ccab81b2f3abce5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/szl/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/szl/firefox-89.0.2.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "7db46d8979c684c56f2870c53c4c0f4f78e1f8277035a7151f9ceee3e24f7f36";
+      sha256 = "ffeb74d2b09595aa6b4d45b5e8587d5fb566188e8cce484bf6887eea1fb83f18";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ta/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/ta/firefox-89.0.2.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "9018d8671a73114b417b0bfef2eabd64583ea31e78ea088d907dc98e1a573d4f";
+      sha256 = "410bbc5abf26f49a6e54c762d62ff91068cf95cbb12725a3bb3ce21911abf029";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/te/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/te/firefox-89.0.2.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "fc3c3984a1ef1cfde88f293d7fdfbe6d783c1cebb940d27fc2c9d3c2fefdc154";
+      sha256 = "fd8aec949b92d15e8b52b9d4ad069598e6ed732cfa90747b29539b9c36103f64";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/th/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/th/firefox-89.0.2.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "cba78c8646ecd92e54359d2a064bf7314f3d3e6789c53cbfe200af2786377d24";
+      sha256 = "f10cdd31b1a0ca18f2fe945549b5c98997a3cf821974760363d3977f378449ae";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/tl/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/tl/firefox-89.0.2.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "055e3dcda6733a20588ad0daa8ac2b68406f5964965e2cd5d8a8b70350bc656d";
+      sha256 = "5d0655ec55e4857884eb6e87a6bff8a1efc53e961bc525f6537a0caca6caef9d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/tr/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/tr/firefox-89.0.2.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "cd00f148489529d9ab3ad79da7a4d789408a08ac32bb21e01ab505826c7f2516";
+      sha256 = "c4fc2bf69b8df0bdbf0976541a3ff53090cf9cb6d44cb6c5f883cb805fb9931f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/trs/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/trs/firefox-89.0.2.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "0e493794ffc3dc81e6e86863f2c1f8ae54194c638d087415668b7eb9e23fb344";
+      sha256 = "54fcae7123f16cc2956af67b13e3a0c43358e82c3ce4498f87f4cefed1333bf7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/uk/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/uk/firefox-89.0.2.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "6effddaf16e4a16197eb9993ffc7d4ce33ba9c8b65906ec4a7d00d22d85956d1";
+      sha256 = "9eefa4110e1feb6bb4ac92470c89a3c29709486bebeff3b3f41479f59593b807";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ur/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/ur/firefox-89.0.2.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "429c316967f0dc771e7028c2283b31cf3bf996bfec5d6a6cbc56dbb464752136";
+      sha256 = "81baf8cbd6c47468471729eb59529af660a3940c4d4795892922532304ff1a11";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/uz/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/uz/firefox-89.0.2.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "064a64280a5242522b6e94e575e3a36959c0308015ff111e73bce4d2e6e3dc45";
+      sha256 = "29d49de5f1ff8c351b19936350a6448480b9dac6c206589dd681fc26f43e3f91";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/vi/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/vi/firefox-89.0.2.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "9db7de20f5c05bf08094c406972de111b3a41e5ea491b5dff2bfedbd0ac0ce37";
+      sha256 = "78dccd68c82b5e54a1bea87b47cf6fea80c82c8b07b92f82ed4a7c5216657053";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/xh/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/xh/firefox-89.0.2.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "15ba3f945482600db96b829ecc76c497a5c6c0ee3db36d7bbb11a92b4e115fad";
+      sha256 = "ce11b8aa7529f43ca7c2aeebba17aaf3b6a5b22dd543302122c71dd0ee9f6eb6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/zh-CN/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/zh-CN/firefox-89.0.2.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "31f8ff9eaf88c57ddc4980c00c75da9aa9d47f0f67384a3059b5eeac91dbd7eb";
+      sha256 = "407a7e16d28fee88428ce021b7a7c63f1027e7c991652227aaa11223356c5af7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/zh-TW/firefox-89.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.2/linux-i686/zh-TW/firefox-89.0.2.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "ceb7acf2489e92eb5b6dfa4bf0e08ff7a52d06d938191225f105ddeec6fae374";
+      sha256 = "1f500d830d6e465a2ed71baa1b0245fbf5eef9ab9098e9559553e2a9916cc733";
     }
     ];
 }
diff --git a/nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix
index fc4860717759..c190b7fa625a 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -3,10 +3,10 @@
 rec {
   firefox = firefoxCommon rec {
     pname = "firefox";
-    ffversion = "89.0.1";
+    ffversion = "89.0.2";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
-      sha512 = "67da387b3b6c5a110c83208f9a15d6064adf423bbebfb0fcad2d85f6c4b615b27da0cbd5486b817f0d5e040bc3e70d74d9af72599b24384397fef1dd153bd3f3";
+      sha512 = "ffd98ab0887611c5b4aba68346c49a7a31a58150fd8bbae610a4d941c4cff0acef0daaebfbb577787a759b4c1ef3c1199f02681148612f4f5b709983e07e0ccb";
     };
 
     meta = {
diff --git a/nixpkgs/pkgs/applications/networking/browsers/qutebrowser/default.nix b/nixpkgs/pkgs/applications/networking/browsers/qutebrowser/default.nix
index 1f03184eeed4..9e8dec561791 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/qutebrowser/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/qutebrowser/default.nix
@@ -31,12 +31,12 @@ let
 
 in mkDerivationWith python3Packages.buildPythonApplication rec {
   pname = "qutebrowser";
-  version = "2.2.3";
+  version = "2.3.0";
 
   # the release tarballs are different from the git checkout!
   src = fetchurl {
     url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-BoP168jxj94nvkrcgC83fPw/TPRsI2PbCooqzWNF62I=";
+    sha256 = "09fz6rd0laisq7pqf9nrllcx58yb129fc05kdk45zrwwggq03b8h";
   };
 
   # Needs tox
diff --git a/nixpkgs/pkgs/applications/networking/browsers/vieb/default.nix b/nixpkgs/pkgs/applications/networking/browsers/vieb/default.nix
index 0eeb52311599..f97e8d8250e7 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/vieb/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/vieb/default.nix
@@ -2,13 +2,13 @@
 
 mkYarnPackage rec {
   pname = "vieb";
-  version = "5.2.0";
+  version = "5.3.0";
 
   src = fetchFromGitHub {
     owner = "Jelmerro";
     repo = pname;
     rev = version;
-    sha256 = "sha256-wLaOqjDxgjfv4+TJeLE0dkrhfdnNSjiDqtFcHTm8uG4=";
+    sha256 = "sha256-NKWqSnUO8SScEodHYSptRHwVNOa5C4M61ac85d+wYK0=";
   };
 
   packageJSON = ./package.json;
diff --git a/nixpkgs/pkgs/applications/networking/browsers/vieb/package.json b/nixpkgs/pkgs/applications/networking/browsers/vieb/package.json
index e12d86356c26..1836efdb8ad2 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/vieb/package.json
+++ b/nixpkgs/pkgs/applications/networking/browsers/vieb/package.json
@@ -1,7 +1,7 @@
 {
   "name": "vieb",
   "productName": "Vieb",
-  "version": "5.2.0",
+  "version": "5.3.0",
   "description": "Vim Inspired Electron Browser",
   "main": "app/index.js",
   "scripts": {
@@ -29,18 +29,18 @@
   "license": "GPL-3.0-or-later",
   "devDependencies": {
     "archiver": "5.3.0",
-    "electron": "13.1.2",
+    "electron": "13.1.4",
     "electron-builder": "22.11.7",
     "eslint": "7.29.0",
     "eslint-plugin-compat": "3.9.0",
     "eslint-plugin-sort-keys-fix": "1.1.1",
-    "jest-environment-jsdom": "27.0.3",
-    "jest": "27.0.4"
+    "jest": "27.0.6",
+    "jest-environment-jsdom": "27.0.6"
   },
   "dependencies": {
     "7zip-bin": "5.1.1",
-    "@cliqz/adblocker-electron": "1.22.1",
-    "@cliqz/adblocker-electron-preload": "1.22.1",
+    "@cliqz/adblocker-electron": "1.22.2",
+    "@cliqz/adblocker-electron-preload": "1.22.2",
     "is-svg": "4.3.1",
     "rimraf": "3.0.2"
   },
diff --git a/nixpkgs/pkgs/applications/networking/browsers/vieb/yarn.lock b/nixpkgs/pkgs/applications/networking/browsers/vieb/yarn.lock
index af42526610d0..33e9604c06da 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/vieb/yarn.lock
+++ b/nixpkgs/pkgs/applications/networking/browsers/vieb/yarn.lock
@@ -22,9 +22,9 @@
     "@babel/highlight" "^7.14.5"
 
 "@babel/compat-data@^7.14.5":
-  version "7.14.5"
-  resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.5.tgz#8ef4c18e58e801c5c95d3c1c0f2874a2680fadea"
-  integrity sha512-kixrYn4JwfAVPa0f2yfzc2AWti6WRRyO3XjWW5PJAvtE11qhSayrrcrEnee05KAtNaPC+EwehE8Qt1UedEVB8w==
+  version "7.14.7"
+  resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.7.tgz#7b047d7a3a89a67d2258dc61f604f098f1bc7e08"
+  integrity sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==
 
 "@babel/core@^7.1.0", "@babel/core@^7.7.2", "@babel/core@^7.7.5":
   version "7.14.6"
@@ -90,9 +90,9 @@
     "@babel/types" "^7.14.5"
 
 "@babel/helper-member-expression-to-functions@^7.14.5":
-  version "7.14.5"
-  resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.5.tgz#d5c70e4ad13b402c95156c7a53568f504e2fb7b8"
-  integrity sha512-UxUeEYPrqH1Q/k0yRku1JE7dyfyehNwT6SVkMHvYvPDv4+uu627VXBckVj891BO8ruKBkiDoGnZf4qPDD8abDQ==
+  version "7.14.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz#97e56244beb94211fe277bd818e3a329c66f7970"
+  integrity sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==
   dependencies:
     "@babel/types" "^7.14.5"
 
@@ -181,10 +181,10 @@
     chalk "^2.0.0"
     js-tokens "^4.0.0"
 
-"@babel/parser@^7.1.0", "@babel/parser@^7.14.5", "@babel/parser@^7.14.6", "@babel/parser@^7.7.2":
-  version "7.14.6"
-  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.6.tgz#d85cc68ca3cac84eae384c06f032921f5227f4b2"
-  integrity sha512-oG0ej7efjEXxb4UgE+klVx+3j4MVo+A2vCzm7OUN4CLo6WhQ+vSOD2yJ8m7B+DghObxtLxt3EfgMWpq+AsWehQ==
+"@babel/parser@^7.1.0", "@babel/parser@^7.14.5", "@babel/parser@^7.14.6", "@babel/parser@^7.14.7", "@babel/parser@^7.7.2":
+  version "7.14.7"
+  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.7.tgz#6099720c8839ca865a2637e6c85852ead0bdb595"
+  integrity sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA==
 
 "@babel/plugin-syntax-async-generators@^7.8.4":
   version "7.8.4"
@@ -287,16 +287,16 @@
     "@babel/types" "^7.14.5"
 
 "@babel/traverse@^7.1.0", "@babel/traverse@^7.14.5", "@babel/traverse@^7.7.2":
-  version "7.14.5"
-  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.5.tgz#c111b0f58afab4fea3d3385a406f692748c59870"
-  integrity sha512-G3BiS15vevepdmFqmUc9X+64y0viZYygubAMO8SvBmKARuF6CPSZtH4Ng9vi/lrWlZFGe3FWdXNy835akH8Glg==
+  version "7.14.7"
+  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.7.tgz#64007c9774cfdc3abd23b0780bc18a3ce3631753"
+  integrity sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ==
   dependencies:
     "@babel/code-frame" "^7.14.5"
     "@babel/generator" "^7.14.5"
     "@babel/helper-function-name" "^7.14.5"
     "@babel/helper-hoist-variables" "^7.14.5"
     "@babel/helper-split-export-declaration" "^7.14.5"
-    "@babel/parser" "^7.14.5"
+    "@babel/parser" "^7.14.7"
     "@babel/types" "^7.14.5"
     debug "^4.1.0"
     globals "^11.1.0"
@@ -314,34 +314,27 @@
   resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
   integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
 
-"@cliqz/adblocker-content@^1.22.1", "@cliqz/adblocker-content@^1.22.2":
+"@cliqz/adblocker-content@^1.22.2":
   version "1.22.2"
   resolved "https://registry.yarnpkg.com/@cliqz/adblocker-content/-/adblocker-content-1.22.2.tgz#643849d5f08c167eb84a2e7e3f1f9fbc41a3889b"
   integrity sha512-EsV00IdW8sGujGnylOGR8dm401FdIfPRAjuevsRlZjgDE+hQKj6n5wwrZaylPIh994hWesg6bxWTmXpJ2Sy2QQ==
   dependencies:
     "@cliqz/adblocker-extended-selectors" "^1.22.2"
 
-"@cliqz/adblocker-electron-preload@1.22.1":
-  version "1.22.1"
-  resolved "https://registry.yarnpkg.com/@cliqz/adblocker-electron-preload/-/adblocker-electron-preload-1.22.1.tgz#8ce8c18d0ce5f7afa7c1dfe1f4cba30ada86f4af"
-  integrity sha512-etkb6LNUaCViZ2Bg7Z0fwpKsdsrmHF6Qjqs5u7FcfS4fSZ2TgDv7Ir5PunUWd6MOUW7mapx5CdPIupnlVkiTLA==
-  dependencies:
-    "@cliqz/adblocker-content" "^1.22.1"
-
-"@cliqz/adblocker-electron-preload@^1.22.1":
+"@cliqz/adblocker-electron-preload@1.22.2", "@cliqz/adblocker-electron-preload@^1.22.2":
   version "1.22.2"
   resolved "https://registry.yarnpkg.com/@cliqz/adblocker-electron-preload/-/adblocker-electron-preload-1.22.2.tgz#eea674767a60abe4e5f9ccb46188d33656f551d0"
   integrity sha512-4JSqNNYo4hXMoZjnyBVTd3z2yV2n5qeoNPk+WaeOFEF9uJXhqPR+Sz7scNB6nMYnRuSQfraeogtdaA4s0JkJWQ==
   dependencies:
     "@cliqz/adblocker-content" "^1.22.2"
 
-"@cliqz/adblocker-electron@1.22.1":
-  version "1.22.1"
-  resolved "https://registry.yarnpkg.com/@cliqz/adblocker-electron/-/adblocker-electron-1.22.1.tgz#13fe6de4be0c3beb2851634b27ea1223d10ca92b"
-  integrity sha512-RZUog6ogMZnOx9Rz1LWIHE5MOWdDStfzkbfLpelka6PerRSKKltUvV4qwqM455eUMqHqPd27ZMM183+MQ85WpQ==
+"@cliqz/adblocker-electron@1.22.2":
+  version "1.22.2"
+  resolved "https://registry.yarnpkg.com/@cliqz/adblocker-electron/-/adblocker-electron-1.22.2.tgz#85af3b49f7f653e6fb0d008b6523e3b3ba0dd41e"
+  integrity sha512-uSQjbcv9/csjQOO0AgqK8AnqdpKseebPkwXozglU1uFVVnuSOTs/4RohL3yac9uMkJtfyAIhT3mnbw9Cf4o+gQ==
   dependencies:
-    "@cliqz/adblocker" "^1.22.1"
-    "@cliqz/adblocker-electron-preload" "^1.22.1"
+    "@cliqz/adblocker" "^1.22.2"
+    "@cliqz/adblocker-electron-preload" "^1.22.2"
     tldts-experimental "^5.6.21"
 
 "@cliqz/adblocker-extended-selectors@^1.22.2":
@@ -349,7 +342,7 @@
   resolved "https://registry.yarnpkg.com/@cliqz/adblocker-extended-selectors/-/adblocker-extended-selectors-1.22.2.tgz#1cad3c1569b765d9e7f8672c85b2a7b1e8e9ee90"
   integrity sha512-/u4SmQ1wr7d80iGP705fZrfHjJUTf/1MyRXz5Wltt7i3OHvOCQEoST2mqNlfx0W/9gIWzxA7cFRLY0/aITmzTw==
 
-"@cliqz/adblocker@^1.22.1":
+"@cliqz/adblocker@^1.22.2":
   version "1.22.2"
   resolved "https://registry.yarnpkg.com/@cliqz/adblocker/-/adblocker-1.22.2.tgz#99a14d56327734d3083a077d96fe7b91c236bf7a"
   integrity sha512-P+a8gYbRbQy38mYsr7932h2cnK/7AEuQrmCEfLTO1+abCr2v5RM2Qb+cCn/JVnQSeqnysebAIXoV+PUzrjfpiQ==
@@ -429,94 +422,94 @@
   resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98"
   integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==
 
-"@jest/console@^27.0.2":
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.0.2.tgz#b8eeff8f21ac51d224c851e1729d2630c18631e6"
-  integrity sha512-/zYigssuHLImGeMAACkjI4VLAiiJznHgAl3xnFT19iWyct2LhrH3KXOjHRmxBGTkiPLZKKAJAgaPpiU9EZ9K+w==
+"@jest/console@^27.0.6":
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.0.6.tgz#3eb72ea80897495c3d73dd97aab7f26770e2260f"
+  integrity sha512-fMlIBocSHPZ3JxgWiDNW/KPj6s+YRd0hicb33IrmelCcjXo/pXPwvuiKFmZz+XuqI/1u7nbUK10zSsWL/1aegg==
   dependencies:
-    "@jest/types" "^27.0.2"
+    "@jest/types" "^27.0.6"
     "@types/node" "*"
     chalk "^4.0.0"
-    jest-message-util "^27.0.2"
-    jest-util "^27.0.2"
+    jest-message-util "^27.0.6"
+    jest-util "^27.0.6"
     slash "^3.0.0"
 
-"@jest/core@^27.0.4":
-  version "27.0.4"
-  resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.0.4.tgz#679bf9ac07900da2ddbb9667bb1afa8029038f53"
-  integrity sha512-+dsmV8VUs1h/Szb+rEWk8xBM1fp1I///uFy9nk3wXGvRsF2lBp8EVPmtWc+QFRb3MY2b7u2HbkGF1fzoDzQTLA==
+"@jest/core@^27.0.6":
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.0.6.tgz#c5f642727a0b3bf0f37c4b46c675372d0978d4a1"
+  integrity sha512-SsYBm3yhqOn5ZLJCtccaBcvD/ccTLCeuDv8U41WJH/V1MW5eKUkeMHT9U+Pw/v1m1AIWlnIW/eM2XzQr0rEmow==
   dependencies:
-    "@jest/console" "^27.0.2"
-    "@jest/reporters" "^27.0.4"
-    "@jest/test-result" "^27.0.2"
-    "@jest/transform" "^27.0.2"
-    "@jest/types" "^27.0.2"
+    "@jest/console" "^27.0.6"
+    "@jest/reporters" "^27.0.6"
+    "@jest/test-result" "^27.0.6"
+    "@jest/transform" "^27.0.6"
+    "@jest/types" "^27.0.6"
     "@types/node" "*"
     ansi-escapes "^4.2.1"
     chalk "^4.0.0"
     emittery "^0.8.1"
     exit "^0.1.2"
     graceful-fs "^4.2.4"
-    jest-changed-files "^27.0.2"
-    jest-config "^27.0.4"
-    jest-haste-map "^27.0.2"
-    jest-message-util "^27.0.2"
-    jest-regex-util "^27.0.1"
-    jest-resolve "^27.0.4"
-    jest-resolve-dependencies "^27.0.4"
-    jest-runner "^27.0.4"
-    jest-runtime "^27.0.4"
-    jest-snapshot "^27.0.4"
-    jest-util "^27.0.2"
-    jest-validate "^27.0.2"
-    jest-watcher "^27.0.2"
+    jest-changed-files "^27.0.6"
+    jest-config "^27.0.6"
+    jest-haste-map "^27.0.6"
+    jest-message-util "^27.0.6"
+    jest-regex-util "^27.0.6"
+    jest-resolve "^27.0.6"
+    jest-resolve-dependencies "^27.0.6"
+    jest-runner "^27.0.6"
+    jest-runtime "^27.0.6"
+    jest-snapshot "^27.0.6"
+    jest-util "^27.0.6"
+    jest-validate "^27.0.6"
+    jest-watcher "^27.0.6"
     micromatch "^4.0.4"
     p-each-series "^2.1.0"
     rimraf "^3.0.0"
     slash "^3.0.0"
     strip-ansi "^6.0.0"
 
-"@jest/environment@^27.0.3":
-  version "27.0.3"
-  resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.0.3.tgz#68769b1dfdd213e3456169d64fbe9bd63a5fda92"
-  integrity sha512-pN9m7fbKsop5vc3FOfH8NF7CKKdRbEZzcxfIo1n2TT6ucKWLFq0P6gCJH0GpnQp036++yY9utHOxpeT1WnkWTA==
+"@jest/environment@^27.0.6":
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.0.6.tgz#ee293fe996db01d7d663b8108fa0e1ff436219d2"
+  integrity sha512-4XywtdhwZwCpPJ/qfAkqExRsERW+UaoSRStSHCCiQTUpoYdLukj+YJbQSFrZjhlUDRZeNiU9SFH0u7iNimdiIg==
   dependencies:
-    "@jest/fake-timers" "^27.0.3"
-    "@jest/types" "^27.0.2"
+    "@jest/fake-timers" "^27.0.6"
+    "@jest/types" "^27.0.6"
     "@types/node" "*"
-    jest-mock "^27.0.3"
+    jest-mock "^27.0.6"
 
-"@jest/fake-timers@^27.0.3":
-  version "27.0.3"
-  resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.0.3.tgz#9899ba6304cc636734c74478df502e18136461dd"
-  integrity sha512-fQ+UCKRIYKvTCEOyKPnaPnomLATIhMnHC/xPZ7yT1Uldp7yMgMxoYIFidDbpSTgB79+/U+FgfoD30c6wg3IUjA==
+"@jest/fake-timers@^27.0.6":
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.0.6.tgz#cbad52f3fe6abe30e7acb8cd5fa3466b9588e3df"
+  integrity sha512-sqd+xTWtZ94l3yWDKnRTdvTeZ+A/V7SSKrxsrOKSqdyddb9CeNRF8fbhAU0D7ZJBpTTW2nbp6MftmKJDZfW2LQ==
   dependencies:
-    "@jest/types" "^27.0.2"
+    "@jest/types" "^27.0.6"
     "@sinonjs/fake-timers" "^7.0.2"
     "@types/node" "*"
-    jest-message-util "^27.0.2"
-    jest-mock "^27.0.3"
-    jest-util "^27.0.2"
+    jest-message-util "^27.0.6"
+    jest-mock "^27.0.6"
+    jest-util "^27.0.6"
 
-"@jest/globals@^27.0.3":
-  version "27.0.3"
-  resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.0.3.tgz#1cf8933b7791bba0b99305cbf39fd4d2e3fe4060"
-  integrity sha512-OzsIuf7uf+QalqAGbjClyezzEcLQkdZ+7PejUrZgDs+okdAK8GwRCGcYCirHvhMBBQh60Jr3NlIGbn/KBPQLEQ==
+"@jest/globals@^27.0.6":
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.0.6.tgz#48e3903f99a4650673d8657334d13c9caf0e8f82"
+  integrity sha512-DdTGCP606rh9bjkdQ7VvChV18iS7q0IMJVP1piwTWyWskol4iqcVwthZmoJEf7obE1nc34OpIyoVGPeqLC+ryw==
   dependencies:
-    "@jest/environment" "^27.0.3"
-    "@jest/types" "^27.0.2"
-    expect "^27.0.2"
+    "@jest/environment" "^27.0.6"
+    "@jest/types" "^27.0.6"
+    expect "^27.0.6"
 
-"@jest/reporters@^27.0.4":
-  version "27.0.4"
-  resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.0.4.tgz#95609b1be97afb80d55d8aa3d7c3179c15810e65"
-  integrity sha512-Xa90Nm3JnV0xCe4M6A10M9WuN9krb+WFKxV1A98Y4ePCw40n++r7uxFUNU7DT1i9Behj7fjrAIju9oU0t1QtCg==
+"@jest/reporters@^27.0.6":
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.0.6.tgz#91e7f2d98c002ad5df94d5b5167c1eb0b9fd5b00"
+  integrity sha512-TIkBt09Cb2gptji3yJXb3EE+eVltW6BjO7frO7NEfjI9vSIYoISi5R3aI3KpEDXlB1xwB+97NXIqz84qYeYsfA==
   dependencies:
     "@bcoe/v8-coverage" "^0.2.3"
-    "@jest/console" "^27.0.2"
-    "@jest/test-result" "^27.0.2"
-    "@jest/transform" "^27.0.2"
-    "@jest/types" "^27.0.2"
+    "@jest/console" "^27.0.6"
+    "@jest/test-result" "^27.0.6"
+    "@jest/transform" "^27.0.6"
+    "@jest/types" "^27.0.6"
     chalk "^4.0.0"
     collect-v8-coverage "^1.0.0"
     exit "^0.1.2"
@@ -527,70 +520,70 @@
     istanbul-lib-report "^3.0.0"
     istanbul-lib-source-maps "^4.0.0"
     istanbul-reports "^3.0.2"
-    jest-haste-map "^27.0.2"
-    jest-resolve "^27.0.4"
-    jest-util "^27.0.2"
-    jest-worker "^27.0.2"
+    jest-haste-map "^27.0.6"
+    jest-resolve "^27.0.6"
+    jest-util "^27.0.6"
+    jest-worker "^27.0.6"
     slash "^3.0.0"
     source-map "^0.6.0"
     string-length "^4.0.1"
     terminal-link "^2.0.0"
-    v8-to-istanbul "^7.0.0"
+    v8-to-istanbul "^8.0.0"
 
-"@jest/source-map@^27.0.1":
-  version "27.0.1"
-  resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.0.1.tgz#2afbf73ddbaddcb920a8e62d0238a0a9e0a8d3e4"
-  integrity sha512-yMgkF0f+6WJtDMdDYNavmqvbHtiSpwRN2U/W+6uztgfqgkq/PXdKPqjBTUF1RD/feth4rH5N3NW0T5+wIuln1A==
+"@jest/source-map@^27.0.6":
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.0.6.tgz#be9e9b93565d49b0548b86e232092491fb60551f"
+  integrity sha512-Fek4mi5KQrqmlY07T23JRi0e7Z9bXTOOD86V/uS0EIW4PClvPDqZOyFlLpNJheS6QI0FNX1CgmPjtJ4EA/2M+g==
   dependencies:
     callsites "^3.0.0"
     graceful-fs "^4.2.4"
     source-map "^0.6.0"
 
-"@jest/test-result@^27.0.2":
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.0.2.tgz#0451049e32ceb609b636004ccc27c8fa22263f10"
-  integrity sha512-gcdWwL3yP5VaIadzwQtbZyZMgpmes8ryBAJp70tuxghiA8qL4imJyZex+i+USQH2H4jeLVVszhwntgdQ97fccA==
+"@jest/test-result@^27.0.6":
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.0.6.tgz#3fa42015a14e4fdede6acd042ce98c7f36627051"
+  integrity sha512-ja/pBOMTufjX4JLEauLxE3LQBPaI2YjGFtXexRAjt1I/MbfNlMx0sytSX3tn5hSLzQsR3Qy2rd0hc1BWojtj9w==
   dependencies:
-    "@jest/console" "^27.0.2"
-    "@jest/types" "^27.0.2"
+    "@jest/console" "^27.0.6"
+    "@jest/types" "^27.0.6"
     "@types/istanbul-lib-coverage" "^2.0.0"
     collect-v8-coverage "^1.0.0"
 
-"@jest/test-sequencer@^27.0.4":
-  version "27.0.4"
-  resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.0.4.tgz#976493b277594d81e589896f0ed21f198308928a"
-  integrity sha512-6UFEVwdmxYdyNffBxVVZxmXEdBE4riSddXYSnFNH0ELFQFk/bvagizim8WfgJTqF4EKd+j1yFxvhb8BMHfOjSQ==
+"@jest/test-sequencer@^27.0.6":
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.0.6.tgz#80a913ed7a1130545b1cd777ff2735dd3af5d34b"
+  integrity sha512-bISzNIApazYOlTHDum9PwW22NOyDa6VI31n6JucpjTVM0jD6JDgqEZ9+yn575nDdPF0+4csYDxNNW13NvFQGZA==
   dependencies:
-    "@jest/test-result" "^27.0.2"
+    "@jest/test-result" "^27.0.6"
     graceful-fs "^4.2.4"
-    jest-haste-map "^27.0.2"
-    jest-runtime "^27.0.4"
+    jest-haste-map "^27.0.6"
+    jest-runtime "^27.0.6"
 
-"@jest/transform@^27.0.2":
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.0.2.tgz#b073b7c589e3f4b842102468875def2bb722d6b5"
-  integrity sha512-H8sqKlgtDfVog/s9I4GG2XMbi4Ar7RBxjsKQDUhn2XHAi3NG+GoQwWMER+YfantzExbjNqQvqBHzo/G2pfTiPw==
+"@jest/transform@^27.0.6":
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.0.6.tgz#189ad7107413208f7600f4719f81dd2f7278cc95"
+  integrity sha512-rj5Dw+mtIcntAUnMlW/Vju5mr73u8yg+irnHwzgtgoeI6cCPOvUwQ0D1uQtc/APmWgvRweEb1g05pkUpxH3iCA==
   dependencies:
     "@babel/core" "^7.1.0"
-    "@jest/types" "^27.0.2"
+    "@jest/types" "^27.0.6"
     babel-plugin-istanbul "^6.0.0"
     chalk "^4.0.0"
     convert-source-map "^1.4.0"
     fast-json-stable-stringify "^2.0.0"
     graceful-fs "^4.2.4"
-    jest-haste-map "^27.0.2"
-    jest-regex-util "^27.0.1"
-    jest-util "^27.0.2"
+    jest-haste-map "^27.0.6"
+    jest-regex-util "^27.0.6"
+    jest-util "^27.0.6"
     micromatch "^4.0.4"
     pirates "^4.0.1"
     slash "^3.0.0"
     source-map "^0.6.1"
     write-file-atomic "^3.0.0"
 
-"@jest/types@^27.0.2":
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.0.2.tgz#e153d6c46bda0f2589f0702b071f9898c7bbd37e"
-  integrity sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==
+"@jest/types@^27.0.6":
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.0.6.tgz#9a992bc517e0c49f035938b8549719c2de40706b"
+  integrity sha512-aSquT1qa9Pik26JK5/3rvnYb4bGtm1VFNesHKmNTwmPIgOrixvhL2ghIvFRNEpzy3gU+rUgjIF/KodbkFAl++g==
   dependencies:
     "@types/istanbul-lib-coverage" "^2.0.0"
     "@types/istanbul-reports" "^3.0.0"
@@ -715,9 +708,9 @@
     "@babel/types" "^7.0.0"
 
 "@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6":
-  version "7.11.1"
-  resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.1.tgz#654f6c4f67568e24c23b367e947098c6206fa639"
-  integrity sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw==
+  version "7.14.0"
+  resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.0.tgz#a34277cf8acbd3185ea74129e1f100491eb1da7f"
+  integrity sha512-IilJZ1hJBUZwMOVDNTdflOOLzJB/ZtljYVa7k3gEZN/jqIJIPkWHC6dvbX+DD2CwZDHB9wAKzZPzzqMIkW37/w==
   dependencies:
     "@babel/types" "^7.3.0"
 
@@ -735,9 +728,9 @@
   integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==
 
 "@types/filesystem@*":
-  version "0.0.30"
-  resolved "https://registry.yarnpkg.com/@types/filesystem/-/filesystem-0.0.30.tgz#a7373a2edf34d13e298baf7ee1101f738b2efb7e"
-  integrity sha512-NCoRgmGmLpTT9VFL6Bb6z0jQuqI3d0E5FGl7M0JOv/J5RQYo9s5aOItPYnpckx9MbYQk1APLXcF8f20Vqnf2yA==
+  version "0.0.31"
+  resolved "https://registry.yarnpkg.com/@types/filesystem/-/filesystem-0.0.31.tgz#121a1ded274a2dc731d5e0d90163a920ad6a9ef1"
+  integrity sha512-9Dj1Gb7ZhknhJ8J1H/lTQrEorwIHWZlO9Tfi0WMrvyO1+2GUIUF8Sg4zrID77hj0ywArzQRJ1MwlT9H7c9QmEQ==
   dependencies:
     "@types/filewriter" "*"
 
@@ -803,14 +796,14 @@
   integrity sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==
 
 "@types/node@*":
-  version "15.12.4"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-15.12.4.tgz#e1cf817d70a1e118e81922c4ff6683ce9d422e26"
-  integrity sha512-zrNj1+yqYF4WskCMOHwN+w9iuD12+dGm0rQ35HLl9/Ouuq52cEtd0CH9qMgrdNmi5ejC1/V7vKEXYubB+65DkA==
+  version "15.12.5"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-15.12.5.tgz#9a78318a45d75c9523d2396131bd3cca54b2d185"
+  integrity sha512-se3yX7UHv5Bscf8f1ERKvQOD6sTyycH3hdaoozvaLxgUiY5lIGEeH37AD0G0Qi9kPqihPn0HOfd2yaIEN9VwEg==
 
 "@types/node@^14.6.2":
-  version "14.17.3"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-14.17.3.tgz#6d327abaa4be34a74e421ed6409a0ae2f47f4c3d"
-  integrity sha512-e6ZowgGJmTuXa3GyaPbTGxX17tnThl2aSSizrFthQ7m9uLGZBXiGhgE55cjRZTF5kjZvYn9EOPOMljdjwbflxw==
+  version "14.17.4"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-14.17.4.tgz#218712242446fc868d0e007af29a4408c7765bc0"
+  integrity sha512-8kQ3+wKGRNN0ghtEn7EGps/B8CzuBz1nXZEIGGLP2GnwbqYn4dbTs7k+VKLTq1HvZLRCIDtN3Snx1Ege8B7L5A==
 
 "@types/plist@^3.0.1":
   version "3.0.2"
@@ -876,9 +869,9 @@ acorn@^7.1.1, acorn@^7.4.0:
   integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
 
 acorn@^8.2.4:
-  version "8.4.0"
-  resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.4.0.tgz#af53266e698d7cffa416714b503066a82221be60"
-  integrity sha512-ULr0LDaEqQrMFGyQ3bhJkLsbtrQ8QibAseGZeaSUiT/6zb9IvIkomWHJIvgvwad+hinRAgsI51JcWk2yvwyL+w==
+  version "8.4.1"
+  resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.4.1.tgz#56c36251fc7cabc7096adc18f05afe814321a28c"
+  integrity sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==
 
 agent-base@6:
   version "6.0.2"
@@ -1100,16 +1093,16 @@ at-least-node@^1.0.0:
   resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
   integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
 
-babel-jest@^27.0.2:
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.0.2.tgz#7dc18adb01322acce62c2af76ea2c7cd186ade37"
-  integrity sha512-9OThPl3/IQbo4Yul2vMz4FYwILPQak8XelX4YGowygfHaOl5R5gfjm4iVx4d8aUugkW683t8aq0A74E7b5DU1Q==
+babel-jest@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.0.6.tgz#e99c6e0577da2655118e3608b68761a5a69bd0d8"
+  integrity sha512-iTJyYLNc4wRofASmofpOc5NK9QunwMk+TLFgGXsTFS8uEqmd8wdI7sga0FPe2oVH3b5Agt/EAK1QjPEuKL8VfA==
   dependencies:
-    "@jest/transform" "^27.0.2"
-    "@jest/types" "^27.0.2"
+    "@jest/transform" "^27.0.6"
+    "@jest/types" "^27.0.6"
     "@types/babel__core" "^7.1.14"
     babel-plugin-istanbul "^6.0.0"
-    babel-preset-jest "^27.0.1"
+    babel-preset-jest "^27.0.6"
     chalk "^4.0.0"
     graceful-fs "^4.2.4"
     slash "^3.0.0"
@@ -1125,10 +1118,10 @@ babel-plugin-istanbul@^6.0.0:
     istanbul-lib-instrument "^4.0.0"
     test-exclude "^6.0.0"
 
-babel-plugin-jest-hoist@^27.0.1:
-  version "27.0.1"
-  resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.1.tgz#a6d10e484c93abff0f4e95f437dad26e5736ea11"
-  integrity sha512-sqBF0owAcCDBVEDtxqfYr2F36eSHdx7lAVGyYuOBRnKdD6gzcy0I0XrAYCZgOA3CRrLhmR+Uae9nogPzmAtOfQ==
+babel-plugin-jest-hoist@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.6.tgz#f7c6b3d764af21cb4a2a1ab6870117dbde15b456"
+  integrity sha512-CewFeM9Vv2gM7Yr9n5eyyLVPRSiBnk6lKZRjgwYnGKSl9M14TMn2vkN02wTF04OGuSDLEzlWiMzvjXuW9mB6Gw==
   dependencies:
     "@babel/template" "^7.3.3"
     "@babel/types" "^7.3.3"
@@ -1153,12 +1146,12 @@ babel-preset-current-node-syntax@^1.0.0:
     "@babel/plugin-syntax-optional-chaining" "^7.8.3"
     "@babel/plugin-syntax-top-level-await" "^7.8.3"
 
-babel-preset-jest@^27.0.1:
-  version "27.0.1"
-  resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.0.1.tgz#7a50c75d16647c23a2cf5158d5bb9eb206b10e20"
-  integrity sha512-nIBIqCEpuiyhvjQs2mVNwTxQQa2xk70p9Dd/0obQGBf8FBzbnI8QhQKzLsWMN2i6q+5B0OcWDtrboBX5gmOLyA==
+babel-preset-jest@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.0.6.tgz#909ef08e9f24a4679768be2f60a3df0856843f9d"
+  integrity sha512-WObA0/Biw2LrVVwZkF/2GqbOdzhKD6Fkdwhoy9ASIrOWr/zodcSpQh72JOkEn6NWyjmnPDjNSqaGN4KnpKzhXw==
   dependencies:
-    babel-plugin-jest-hoist "^27.0.1"
+    babel-plugin-jest-hoist "^27.0.6"
     babel-preset-current-node-syntax "^1.0.0"
 
 balanced-match@^1.0.0:
@@ -1337,9 +1330,9 @@ camelcase@^6.2.0:
   integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
 
 caniuse-lite@^1.0.30001166, caniuse-lite@^1.0.30001219:
-  version "1.0.30001239"
-  resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001239.tgz#66e8669985bb2cb84ccb10f68c25ce6dd3e4d2b8"
-  integrity sha512-cyBkXJDMeI4wthy8xJ2FvDU6+0dtcZSJW3voUF8+e9f1bBeuvyZfc3PNbkOETyhbR+dGCPzn9E7MA3iwzusOhQ==
+  version "1.0.30001241"
+  resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001241.tgz#cd3fae47eb3d7691692b406568d7a3e5b23c7598"
+  integrity sha512-1uoSZ1Pq1VpH0WerIMqwptXHNNGfdl7d1cJUFs80CwQ/lVzdhTvsFZCeNFslze7AjsQnb4C85tzclPa1VShbeQ==
 
 chalk@^2.0.0, chalk@^2.4.2:
   version "2.4.2"
@@ -1528,9 +1521,9 @@ convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0:
     safe-buffer "~5.1.1"
 
 core-js@^3.6.5:
-  version "3.15.0"
-  resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.15.0.tgz#db9554ebce0b6fd90dc9b1f2465c841d2d055044"
-  integrity sha512-GUbtPllXMYRzIgHNZ4dTYTcUemls2cni83Q4Q/TrFONHfhcg9oEGOtaGHfb0cpzec60P96UKPvMkjX1jET8rUw==
+  version "3.15.2"
+  resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.15.2.tgz#740660d2ff55ef34ce664d7e2455119c5bdd3d61"
+  integrity sha512-tKs41J7NJVuaya8DxIOCnl8QuPHx5/ZVbFo1oKgVl1qHFBBrDctzQGtuLjPpRdNTWmKPH6oEvgN/MUID+l485Q==
 
 core-util-is@1.0.2, core-util-is@~1.0.0:
   version "1.0.2"
@@ -1622,9 +1615,9 @@ debug@^4.3.2:
     ms "2.1.2"
 
 decimal.js@^10.2.1:
-  version "10.2.1"
-  resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3"
-  integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==
+  version "10.3.1"
+  resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783"
+  integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==
 
 decompress-response@^3.3.0:
   version "3.3.0"
@@ -1680,10 +1673,10 @@ detect-node@^2.0.4:
   resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1"
   integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==
 
-diff-sequences@^27.0.1:
-  version "27.0.1"
-  resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.1.tgz#9c9801d52ed5f576ff0a20e3022a13ee6e297e7c"
-  integrity sha512-XPLijkfJUh/PIBnfkcSHgvD6tlYixmcMAn3osTk6jt+H0v/mgURto1XUiD9DKuGX5NDoVS6dSlA23gd9FUaCFg==
+diff-sequences@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.6.tgz#3305cb2e55a033924054695cc66019fd7f8e5723"
+  integrity sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ==
 
 dir-compare@^2.4.0:
   version "2.4.0"
@@ -1799,14 +1792,14 @@ electron-publish@22.11.7:
     mime "^2.5.2"
 
 electron-to-chromium@^1.3.723:
-  version "1.3.752"
-  resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.752.tgz#0728587f1b9b970ec9ffad932496429aef750d09"
-  integrity sha512-2Tg+7jSl3oPxgsBsWKh5H83QazTkmWG/cnNwJplmyZc7KcN61+I10oUgaXSVk/NwfvN3BdkKDR4FYuRBQQ2v0A==
+  version "1.3.763"
+  resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.763.tgz#93f6f02506d099941f557b9db9ba50b30215bf15"
+  integrity sha512-UyvEPae0wvzsyNJhVfGeFSOlUkHEze8xSIiExO5tZQ8QTr7obFiJWGk3U4e7afFOJMQJDszqU/3Pk5jtKiaSEg==
 
-electron@13.1.2:
-  version "13.1.2"
-  resolved "https://registry.yarnpkg.com/electron/-/electron-13.1.2.tgz#8c9abf9015766c9cbc16f10c99282d00d6ae1b90"
-  integrity sha512-aNT9t+LgdQaZ7FgN36pN7MjSEoj+EWc2T9yuOqBApbmR4HavGRadSz7u9N2Erw2ojdIXtei2RVIAvVm8mbDZ0g==
+electron@13.1.4:
+  version "13.1.4"
+  resolved "https://registry.yarnpkg.com/electron/-/electron-13.1.4.tgz#6d20d932a0651c3cba9f09a3d08cbaf5b69aa84b"
+  integrity sha512-4qhRZbRvGqHmMWsCG/kRVF4X8VIq9Nujgm+gXZLBSpiR6uUtMHy7ViBTQZl1PGf6O9Ppxhpr9Yz+k6Um9WoP3Q==
   dependencies:
     "@electron/get" "^1.0.1"
     "@types/node" "^14.6.2"
@@ -2052,17 +2045,17 @@ exit@^0.1.2:
   resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
   integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=
 
-expect@^27.0.2:
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/expect/-/expect-27.0.2.tgz#e66ca3a4c9592f1c019fa1d46459a9d2084f3422"
-  integrity sha512-YJFNJe2+P2DqH+ZrXy+ydRQYO87oxRUonZImpDodR1G7qo3NYd3pL+NQ9Keqpez3cehczYwZDBC3A7xk3n7M/w==
+expect@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/expect/-/expect-27.0.6.tgz#a4d74fbe27222c718fff68ef49d78e26a8fd4c05"
+  integrity sha512-psNLt8j2kwg42jGBDSfAlU49CEZxejN1f1PlANWDZqIhBOVU/c2Pm888FcjWJzFewhIsNWfZJeLjUjtKGiPuSw==
   dependencies:
-    "@jest/types" "^27.0.2"
+    "@jest/types" "^27.0.6"
     ansi-styles "^5.0.0"
-    jest-get-type "^27.0.1"
-    jest-matcher-utils "^27.0.2"
-    jest-message-util "^27.0.2"
-    jest-regex-util "^27.0.1"
+    jest-get-type "^27.0.6"
+    jest-matcher-utils "^27.0.6"
+    jest-message-util "^27.0.6"
+    jest-regex-util "^27.0.6"
 
 extend@3.0.2:
   version "3.0.2"
@@ -2669,226 +2662,226 @@ jake@^10.6.1:
     filelist "^1.0.1"
     minimatch "^3.0.4"
 
-jest-changed-files@^27.0.2:
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.0.2.tgz#997253042b4a032950fc5f56abf3c5d1f8560801"
-  integrity sha512-eMeb1Pn7w7x3wue5/vF73LPCJ7DKQuC9wQUR5ebP9hDPpk5hzcT/3Hmz3Q5BOFpR3tgbmaWhJcMTVgC8Z1NuMw==
+jest-changed-files@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.0.6.tgz#bed6183fcdea8a285482e3b50a9a7712d49a7a8b"
+  integrity sha512-BuL/ZDauaq5dumYh5y20sn4IISnf1P9A0TDswTxUi84ORGtVa86ApuBHqICL0vepqAnZiY6a7xeSPWv2/yy4eA==
   dependencies:
-    "@jest/types" "^27.0.2"
+    "@jest/types" "^27.0.6"
     execa "^5.0.0"
     throat "^6.0.1"
 
-jest-circus@^27.0.4:
-  version "27.0.4"
-  resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.0.4.tgz#3b261514ee3b3da33def736a6352c98ff56bb6e6"
-  integrity sha512-QD+eblDiRphta630WRKewuASLs/oY1Zki2G4bccntRvrTHQ63ljwFR5TLduuK4Zg0ZPzW0+8o6AP7KRd1yKOjw==
+jest-circus@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.0.6.tgz#dd4df17c4697db6a2c232aaad4e9cec666926668"
+  integrity sha512-OJlsz6BBeX9qR+7O9lXefWoc2m9ZqcZ5Ohlzz0pTEAG4xMiZUJoacY8f4YDHxgk0oKYxj277AfOk9w6hZYvi1Q==
   dependencies:
-    "@jest/environment" "^27.0.3"
-    "@jest/test-result" "^27.0.2"
-    "@jest/types" "^27.0.2"
+    "@jest/environment" "^27.0.6"
+    "@jest/test-result" "^27.0.6"
+    "@jest/types" "^27.0.6"
     "@types/node" "*"
     chalk "^4.0.0"
     co "^4.6.0"
     dedent "^0.7.0"
-    expect "^27.0.2"
+    expect "^27.0.6"
     is-generator-fn "^2.0.0"
-    jest-each "^27.0.2"
-    jest-matcher-utils "^27.0.2"
-    jest-message-util "^27.0.2"
-    jest-runtime "^27.0.4"
-    jest-snapshot "^27.0.4"
-    jest-util "^27.0.2"
-    pretty-format "^27.0.2"
+    jest-each "^27.0.6"
+    jest-matcher-utils "^27.0.6"
+    jest-message-util "^27.0.6"
+    jest-runtime "^27.0.6"
+    jest-snapshot "^27.0.6"
+    jest-util "^27.0.6"
+    pretty-format "^27.0.6"
     slash "^3.0.0"
     stack-utils "^2.0.3"
     throat "^6.0.1"
 
-jest-cli@^27.0.4:
-  version "27.0.4"
-  resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.0.4.tgz#491b12c754c0d7c6873b13a66f26b3a80a852910"
-  integrity sha512-E0T+/i2lxsWAzV7LKYd0SB7HUAvePqaeIh5vX43/G5jXLhv1VzjYzJAGEkTfvxV774ll9cyE2ljcL73PVMEOXQ==
+jest-cli@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.0.6.tgz#d021e5f4d86d6a212450d4c7b86cb219f1e6864f"
+  integrity sha512-qUUVlGb9fdKir3RDE+B10ULI+LQrz+MCflEH2UJyoUjoHHCbxDrMxSzjQAPUMsic4SncI62ofYCcAvW6+6rhhg==
   dependencies:
-    "@jest/core" "^27.0.4"
-    "@jest/test-result" "^27.0.2"
-    "@jest/types" "^27.0.2"
+    "@jest/core" "^27.0.6"
+    "@jest/test-result" "^27.0.6"
+    "@jest/types" "^27.0.6"
     chalk "^4.0.0"
     exit "^0.1.2"
     graceful-fs "^4.2.4"
     import-local "^3.0.2"
-    jest-config "^27.0.4"
-    jest-util "^27.0.2"
-    jest-validate "^27.0.2"
+    jest-config "^27.0.6"
+    jest-util "^27.0.6"
+    jest-validate "^27.0.6"
     prompts "^2.0.1"
     yargs "^16.0.3"
 
-jest-config@^27.0.4:
-  version "27.0.4"
-  resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.0.4.tgz#c4f41378acf40ca77860fb4e213b12109d87b8cf"
-  integrity sha512-VkQFAHWnPQefdvHU9A+G3H/Z3NrrTKqWpvxgQz3nkUdkDTWeKJE6e//BL+R7z79dXOMVksYgM/z6ndtN0hfChg==
+jest-config@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.0.6.tgz#119fb10f149ba63d9c50621baa4f1f179500277f"
+  integrity sha512-JZRR3I1Plr2YxPBhgqRspDE2S5zprbga3swYNrvY3HfQGu7p/GjyLOqwrYad97tX3U3mzT53TPHVmozacfP/3w==
   dependencies:
     "@babel/core" "^7.1.0"
-    "@jest/test-sequencer" "^27.0.4"
-    "@jest/types" "^27.0.2"
-    babel-jest "^27.0.2"
+    "@jest/test-sequencer" "^27.0.6"
+    "@jest/types" "^27.0.6"
+    babel-jest "^27.0.6"
     chalk "^4.0.0"
     deepmerge "^4.2.2"
     glob "^7.1.1"
     graceful-fs "^4.2.4"
     is-ci "^3.0.0"
-    jest-circus "^27.0.4"
-    jest-environment-jsdom "^27.0.3"
-    jest-environment-node "^27.0.3"
-    jest-get-type "^27.0.1"
-    jest-jasmine2 "^27.0.4"
-    jest-regex-util "^27.0.1"
-    jest-resolve "^27.0.4"
-    jest-runner "^27.0.4"
-    jest-util "^27.0.2"
-    jest-validate "^27.0.2"
+    jest-circus "^27.0.6"
+    jest-environment-jsdom "^27.0.6"
+    jest-environment-node "^27.0.6"
+    jest-get-type "^27.0.6"
+    jest-jasmine2 "^27.0.6"
+    jest-regex-util "^27.0.6"
+    jest-resolve "^27.0.6"
+    jest-runner "^27.0.6"
+    jest-util "^27.0.6"
+    jest-validate "^27.0.6"
     micromatch "^4.0.4"
-    pretty-format "^27.0.2"
+    pretty-format "^27.0.6"
 
-jest-diff@^27.0.2:
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.0.2.tgz#f315b87cee5dc134cf42c2708ab27375cc3f5a7e"
-  integrity sha512-BFIdRb0LqfV1hBt8crQmw6gGQHVDhM87SpMIZ45FPYKReZYG5er1+5pIn2zKqvrJp6WNox0ylR8571Iwk2Dmgw==
+jest-diff@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.0.6.tgz#4a7a19ee6f04ad70e0e3388f35829394a44c7b5e"
+  integrity sha512-Z1mqgkTCSYaFgwTlP/NUiRzdqgxmmhzHY1Tq17zL94morOHfHu3K4bgSgl+CR4GLhpV8VxkuOYuIWnQ9LnFqmg==
   dependencies:
     chalk "^4.0.0"
-    diff-sequences "^27.0.1"
-    jest-get-type "^27.0.1"
-    pretty-format "^27.0.2"
+    diff-sequences "^27.0.6"
+    jest-get-type "^27.0.6"
+    pretty-format "^27.0.6"
 
-jest-docblock@^27.0.1:
-  version "27.0.1"
-  resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.0.1.tgz#bd9752819b49fa4fab1a50b73eb58c653b962e8b"
-  integrity sha512-TA4+21s3oebURc7VgFV4r7ltdIJ5rtBH1E3Tbovcg7AV+oLfD5DcJ2V2vJ5zFA9sL5CFd/d2D6IpsAeSheEdrA==
+jest-docblock@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.0.6.tgz#cc78266acf7fe693ca462cbbda0ea4e639e4e5f3"
+  integrity sha512-Fid6dPcjwepTFraz0YxIMCi7dejjJ/KL9FBjPYhBp4Sv1Y9PdhImlKZqYU555BlN4TQKaTc+F2Av1z+anVyGkA==
   dependencies:
     detect-newline "^3.0.0"
 
-jest-each@^27.0.2:
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.0.2.tgz#865ddb4367476ced752167926b656fa0dcecd8c7"
-  integrity sha512-OLMBZBZ6JkoXgUenDtseFRWA43wVl2BwmZYIWQws7eS7pqsIvePqj/jJmEnfq91ALk3LNphgwNK/PRFBYi7ITQ==
+jest-each@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.0.6.tgz#cee117071b04060158dc8d9a66dc50ad40ef453b"
+  integrity sha512-m6yKcV3bkSWrUIjxkE9OC0mhBZZdhovIW5ergBYirqnkLXkyEn3oUUF/QZgyecA1cF1QFyTE8bRRl8Tfg1pfLA==
   dependencies:
-    "@jest/types" "^27.0.2"
+    "@jest/types" "^27.0.6"
     chalk "^4.0.0"
-    jest-get-type "^27.0.1"
-    jest-util "^27.0.2"
-    pretty-format "^27.0.2"
-
-jest-environment-jsdom@27.0.3, jest-environment-jsdom@^27.0.3:
-  version "27.0.3"
-  resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.0.3.tgz#ed73e913ddc03864eb9f934b5cbabf1b63504e2e"
-  integrity sha512-5KLmgv1bhiimpSA8oGTnZYk6g4fsNyZiA/6gI2tAZUgrufd7heRUSVh4gRokzZVEj8zlwAQYT0Zs6tuJSW/ECA==
-  dependencies:
-    "@jest/environment" "^27.0.3"
-    "@jest/fake-timers" "^27.0.3"
-    "@jest/types" "^27.0.2"
+    jest-get-type "^27.0.6"
+    jest-util "^27.0.6"
+    pretty-format "^27.0.6"
+
+jest-environment-jsdom@27.0.6, jest-environment-jsdom@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.0.6.tgz#f66426c4c9950807d0a9f209c590ce544f73291f"
+  integrity sha512-FvetXg7lnXL9+78H+xUAsra3IeZRTiegA3An01cWeXBspKXUhAwMM9ycIJ4yBaR0L7HkoMPaZsozCLHh4T8fuw==
+  dependencies:
+    "@jest/environment" "^27.0.6"
+    "@jest/fake-timers" "^27.0.6"
+    "@jest/types" "^27.0.6"
     "@types/node" "*"
-    jest-mock "^27.0.3"
-    jest-util "^27.0.2"
+    jest-mock "^27.0.6"
+    jest-util "^27.0.6"
     jsdom "^16.6.0"
 
-jest-environment-node@^27.0.3:
-  version "27.0.3"
-  resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.0.3.tgz#b4acb3679d2552a4215732cab8b0ca7ec4398ee0"
-  integrity sha512-co2/IVnIFL3cItpFULCvXFg9us4gvWXgs7mutAMPCbFhcqh56QAOdKhNzC2+RycsC/k4mbMj1VF+9F/NzA0ROg==
+jest-environment-node@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.0.6.tgz#a6699b7ceb52e8d68138b9808b0c404e505f3e07"
+  integrity sha512-+Vi6yLrPg/qC81jfXx3IBlVnDTI6kmRr08iVa2hFCWmJt4zha0XW7ucQltCAPhSR0FEKEoJ3i+W4E6T0s9is0w==
   dependencies:
-    "@jest/environment" "^27.0.3"
-    "@jest/fake-timers" "^27.0.3"
-    "@jest/types" "^27.0.2"
+    "@jest/environment" "^27.0.6"
+    "@jest/fake-timers" "^27.0.6"
+    "@jest/types" "^27.0.6"
     "@types/node" "*"
-    jest-mock "^27.0.3"
-    jest-util "^27.0.2"
+    jest-mock "^27.0.6"
+    jest-util "^27.0.6"
 
-jest-get-type@^27.0.1:
-  version "27.0.1"
-  resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.0.1.tgz#34951e2b08c8801eb28559d7eb732b04bbcf7815"
-  integrity sha512-9Tggo9zZbu0sHKebiAijyt1NM77Z0uO4tuWOxUCujAiSeXv30Vb5D4xVF4UR4YWNapcftj+PbByU54lKD7/xMg==
+jest-get-type@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.0.6.tgz#0eb5c7f755854279ce9b68a9f1a4122f69047cfe"
+  integrity sha512-XTkK5exIeUbbveehcSR8w0bhH+c0yloW/Wpl+9vZrjzztCPWrxhHwkIFpZzCt71oRBsgxmuUfxEqOYoZI2macg==
 
-jest-haste-map@^27.0.2:
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.0.2.tgz#3f1819400c671237e48b4d4b76a80a0dbed7577f"
-  integrity sha512-37gYfrYjjhEfk37C4bCMWAC0oPBxDpG0qpl8lYg8BT//wf353YT/fzgA7+Dq0EtM7rPFS3JEcMsxdtDwNMi2cA==
+jest-haste-map@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.0.6.tgz#4683a4e68f6ecaa74231679dca237279562c8dc7"
+  integrity sha512-4ldjPXX9h8doB2JlRzg9oAZ2p6/GpQUNAeiYXqcpmrKbP0Qev0wdZlxSMOmz8mPOEnt4h6qIzXFLDi8RScX/1w==
   dependencies:
-    "@jest/types" "^27.0.2"
+    "@jest/types" "^27.0.6"
     "@types/graceful-fs" "^4.1.2"
     "@types/node" "*"
     anymatch "^3.0.3"
     fb-watchman "^2.0.0"
     graceful-fs "^4.2.4"
-    jest-regex-util "^27.0.1"
-    jest-serializer "^27.0.1"
-    jest-util "^27.0.2"
-    jest-worker "^27.0.2"
+    jest-regex-util "^27.0.6"
+    jest-serializer "^27.0.6"
+    jest-util "^27.0.6"
+    jest-worker "^27.0.6"
     micromatch "^4.0.4"
     walker "^1.0.7"
   optionalDependencies:
     fsevents "^2.3.2"
 
-jest-jasmine2@^27.0.4:
-  version "27.0.4"
-  resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.0.4.tgz#c669519ccf4904a485338555e1e66cad36bb0670"
-  integrity sha512-yj3WrjjquZwkJw+eA4c9yucHw4/+EHndHWSqgHbHGQfT94ihaaQsa009j1a0puU8CNxPDk0c1oAPeOpdJUElwA==
+jest-jasmine2@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.0.6.tgz#fd509a9ed3d92bd6edb68a779f4738b100655b37"
+  integrity sha512-cjpH2sBy+t6dvCeKBsHpW41mjHzXgsavaFMp+VWRf0eR4EW8xASk1acqmljFtK2DgyIECMv2yCdY41r2l1+4iA==
   dependencies:
     "@babel/traverse" "^7.1.0"
-    "@jest/environment" "^27.0.3"
-    "@jest/source-map" "^27.0.1"
-    "@jest/test-result" "^27.0.2"
-    "@jest/types" "^27.0.2"
+    "@jest/environment" "^27.0.6"
+    "@jest/source-map" "^27.0.6"
+    "@jest/test-result" "^27.0.6"
+    "@jest/types" "^27.0.6"
     "@types/node" "*"
     chalk "^4.0.0"
     co "^4.6.0"
-    expect "^27.0.2"
+    expect "^27.0.6"
     is-generator-fn "^2.0.0"
-    jest-each "^27.0.2"
-    jest-matcher-utils "^27.0.2"
-    jest-message-util "^27.0.2"
-    jest-runtime "^27.0.4"
-    jest-snapshot "^27.0.4"
-    jest-util "^27.0.2"
-    pretty-format "^27.0.2"
+    jest-each "^27.0.6"
+    jest-matcher-utils "^27.0.6"
+    jest-message-util "^27.0.6"
+    jest-runtime "^27.0.6"
+    jest-snapshot "^27.0.6"
+    jest-util "^27.0.6"
+    pretty-format "^27.0.6"
     throat "^6.0.1"
 
-jest-leak-detector@^27.0.2:
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.0.2.tgz#ce19aa9dbcf7a72a9d58907a970427506f624e69"
-  integrity sha512-TZA3DmCOfe8YZFIMD1GxFqXUkQnIoOGQyy4hFCA2mlHtnAaf+FeOMxi0fZmfB41ZL+QbFG6BVaZF5IeFIVy53Q==
+jest-leak-detector@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.0.6.tgz#545854275f85450d4ef4b8fe305ca2a26450450f"
+  integrity sha512-2/d6n2wlH5zEcdctX4zdbgX8oM61tb67PQt4Xh8JFAIy6LRKUnX528HulkaG6nD5qDl5vRV1NXejCe1XRCH5gQ==
   dependencies:
-    jest-get-type "^27.0.1"
-    pretty-format "^27.0.2"
+    jest-get-type "^27.0.6"
+    pretty-format "^27.0.6"
 
-jest-matcher-utils@^27.0.2:
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.0.2.tgz#f14c060605a95a466cdc759acc546c6f4cbfc4f0"
-  integrity sha512-Qczi5xnTNjkhcIB0Yy75Txt+Ez51xdhOxsukN7awzq2auZQGPHcQrJ623PZj0ECDEMOk2soxWx05EXdXGd1CbA==
+jest-matcher-utils@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.0.6.tgz#2a8da1e86c620b39459f4352eaa255f0d43e39a9"
+  integrity sha512-OFgF2VCQx9vdPSYTHWJ9MzFCehs20TsyFi6bIHbk5V1u52zJOnvF0Y/65z3GLZHKRuTgVPY4Z6LVePNahaQ+tA==
   dependencies:
     chalk "^4.0.0"
-    jest-diff "^27.0.2"
-    jest-get-type "^27.0.1"
-    pretty-format "^27.0.2"
+    jest-diff "^27.0.6"
+    jest-get-type "^27.0.6"
+    pretty-format "^27.0.6"
 
-jest-message-util@^27.0.2:
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.0.2.tgz#181c9b67dff504d8f4ad15cba10d8b80f272048c"
-  integrity sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==
+jest-message-util@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.0.6.tgz#158bcdf4785706492d164a39abca6a14da5ab8b5"
+  integrity sha512-rBxIs2XK7rGy+zGxgi+UJKP6WqQ+KrBbD1YMj517HYN3v2BG66t3Xan3FWqYHKZwjdB700KiAJ+iES9a0M+ixw==
   dependencies:
     "@babel/code-frame" "^7.12.13"
-    "@jest/types" "^27.0.2"
+    "@jest/types" "^27.0.6"
     "@types/stack-utils" "^2.0.0"
     chalk "^4.0.0"
     graceful-fs "^4.2.4"
     micromatch "^4.0.4"
-    pretty-format "^27.0.2"
+    pretty-format "^27.0.6"
     slash "^3.0.0"
     stack-utils "^2.0.3"
 
-jest-mock@^27.0.3:
-  version "27.0.3"
-  resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.0.3.tgz#5591844f9192b3335c0dca38e8e45ed297d4d23d"
-  integrity sha512-O5FZn5XDzEp+Xg28mUz4ovVcdwBBPfAhW9+zJLO0Efn2qNbYcDaJvSlRiQ6BCZUCVOJjALicuJQI9mRFjv1o9Q==
+jest-mock@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.0.6.tgz#0efdd40851398307ba16778728f6d34d583e3467"
+  integrity sha512-lzBETUoK8cSxts2NYXSBWT+EJNzmUVtVVwS1sU9GwE1DLCfGsngg+ZVSIe0yd0ZSm+y791esiuo+WSwpXJQ5Bw==
   dependencies:
-    "@jest/types" "^27.0.2"
+    "@jest/types" "^27.0.6"
     "@types/node" "*"
 
 jest-pnp-resolver@^1.2.2:
@@ -2896,76 +2889,76 @@ jest-pnp-resolver@^1.2.2:
   resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c"
   integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==
 
-jest-regex-util@^27.0.1:
-  version "27.0.1"
-  resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.0.1.tgz#69d4b1bf5b690faa3490113c47486ed85dd45b68"
-  integrity sha512-6nY6QVcpTgEKQy1L41P4pr3aOddneK17kn3HJw6SdwGiKfgCGTvH02hVXL0GU8GEKtPH83eD2DIDgxHXOxVohQ==
+jest-regex-util@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.0.6.tgz#02e112082935ae949ce5d13b2675db3d8c87d9c5"
+  integrity sha512-SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ==
 
-jest-resolve-dependencies@^27.0.4:
-  version "27.0.4"
-  resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.0.4.tgz#a07a242d70d668afd3fcf7f4270755eebb1fe579"
-  integrity sha512-F33UPfw1YGWCV2uxJl7wD6TvcQn5IC0LtguwY3r4L7R6H4twpLkp5Q2ZfzRx9A2I3G8feiy0O0sqcn/Qoym71A==
+jest-resolve-dependencies@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.0.6.tgz#3e619e0ef391c3ecfcf6ef4056207a3d2be3269f"
+  integrity sha512-mg9x9DS3BPAREWKCAoyg3QucCr0n6S8HEEsqRCKSPjPcu9HzRILzhdzY3imsLoZWeosEbJZz6TKasveczzpJZA==
   dependencies:
-    "@jest/types" "^27.0.2"
-    jest-regex-util "^27.0.1"
-    jest-snapshot "^27.0.4"
+    "@jest/types" "^27.0.6"
+    jest-regex-util "^27.0.6"
+    jest-snapshot "^27.0.6"
 
-jest-resolve@^27.0.4:
-  version "27.0.4"
-  resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.0.4.tgz#8a27bc3f2f00c8ea28f3bc99bbf6f468300a703d"
-  integrity sha512-BcfyK2i3cG79PDb/6gB6zFeFQlcqLsQjGBqznFCpA0L/3l1L/oOsltdUjs5eISAWA9HS9qtj8v2PSZr/yWxONQ==
+jest-resolve@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.0.6.tgz#e90f436dd4f8fbf53f58a91c42344864f8e55bff"
+  integrity sha512-yKmIgw2LgTh7uAJtzv8UFHGF7Dm7XfvOe/LQ3Txv101fLM8cx2h1QVwtSJ51Q/SCxpIiKfVn6G2jYYMDNHZteA==
   dependencies:
-    "@jest/types" "^27.0.2"
+    "@jest/types" "^27.0.6"
     chalk "^4.0.0"
     escalade "^3.1.1"
     graceful-fs "^4.2.4"
     jest-pnp-resolver "^1.2.2"
-    jest-util "^27.0.2"
-    jest-validate "^27.0.2"
+    jest-util "^27.0.6"
+    jest-validate "^27.0.6"
     resolve "^1.20.0"
     slash "^3.0.0"
 
-jest-runner@^27.0.4:
-  version "27.0.4"
-  resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.0.4.tgz#2787170a9509b792ae129794f6944d27d5d12a4f"
-  integrity sha512-NfmvSYLCsCJk2AG8Ar2NAh4PhsJJpO+/r+g4bKR5L/5jFzx/indUpnVBdrfDvuqhGLLAvrKJ9FM/Nt8o1dsqxg==
+jest-runner@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.0.6.tgz#1325f45055539222bbc7256a6976e993ad2f9520"
+  integrity sha512-W3Bz5qAgaSChuivLn+nKOgjqNxM7O/9JOJoKDCqThPIg2sH/d4A/lzyiaFgnb9V1/w29Le11NpzTJSzga1vyYQ==
   dependencies:
-    "@jest/console" "^27.0.2"
-    "@jest/environment" "^27.0.3"
-    "@jest/test-result" "^27.0.2"
-    "@jest/transform" "^27.0.2"
-    "@jest/types" "^27.0.2"
+    "@jest/console" "^27.0.6"
+    "@jest/environment" "^27.0.6"
+    "@jest/test-result" "^27.0.6"
+    "@jest/transform" "^27.0.6"
+    "@jest/types" "^27.0.6"
     "@types/node" "*"
     chalk "^4.0.0"
     emittery "^0.8.1"
     exit "^0.1.2"
     graceful-fs "^4.2.4"
-    jest-docblock "^27.0.1"
-    jest-environment-jsdom "^27.0.3"
-    jest-environment-node "^27.0.3"
-    jest-haste-map "^27.0.2"
-    jest-leak-detector "^27.0.2"
-    jest-message-util "^27.0.2"
-    jest-resolve "^27.0.4"
-    jest-runtime "^27.0.4"
-    jest-util "^27.0.2"
-    jest-worker "^27.0.2"
+    jest-docblock "^27.0.6"
+    jest-environment-jsdom "^27.0.6"
+    jest-environment-node "^27.0.6"
+    jest-haste-map "^27.0.6"
+    jest-leak-detector "^27.0.6"
+    jest-message-util "^27.0.6"
+    jest-resolve "^27.0.6"
+    jest-runtime "^27.0.6"
+    jest-util "^27.0.6"
+    jest-worker "^27.0.6"
     source-map-support "^0.5.6"
     throat "^6.0.1"
 
-jest-runtime@^27.0.4:
-  version "27.0.4"
-  resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.0.4.tgz#2e4a6aa77cac32ac612dfe12768387a8aa15c2f0"
-  integrity sha512-voJB4xbAjS/qYPboV+e+gmg3jfvHJJY4CagFWBOM9dQKtlaiTjcpD2tWwla84Z7PtXSQPeIpXY0qksA9Dum29A==
-  dependencies:
-    "@jest/console" "^27.0.2"
-    "@jest/environment" "^27.0.3"
-    "@jest/fake-timers" "^27.0.3"
-    "@jest/globals" "^27.0.3"
-    "@jest/source-map" "^27.0.1"
-    "@jest/test-result" "^27.0.2"
-    "@jest/transform" "^27.0.2"
-    "@jest/types" "^27.0.2"
+jest-runtime@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.0.6.tgz#45877cfcd386afdd4f317def551fc369794c27c9"
+  integrity sha512-BhvHLRVfKibYyqqEFkybsznKwhrsu7AWx2F3y9G9L95VSIN3/ZZ9vBpm/XCS2bS+BWz3sSeNGLzI3TVQ0uL85Q==
+  dependencies:
+    "@jest/console" "^27.0.6"
+    "@jest/environment" "^27.0.6"
+    "@jest/fake-timers" "^27.0.6"
+    "@jest/globals" "^27.0.6"
+    "@jest/source-map" "^27.0.6"
+    "@jest/test-result" "^27.0.6"
+    "@jest/transform" "^27.0.6"
+    "@jest/types" "^27.0.6"
     "@types/yargs" "^16.0.0"
     chalk "^4.0.0"
     cjs-module-lexer "^1.0.0"
@@ -2973,30 +2966,30 @@ jest-runtime@^27.0.4:
     exit "^0.1.2"
     glob "^7.1.3"
     graceful-fs "^4.2.4"
-    jest-haste-map "^27.0.2"
-    jest-message-util "^27.0.2"
-    jest-mock "^27.0.3"
-    jest-regex-util "^27.0.1"
-    jest-resolve "^27.0.4"
-    jest-snapshot "^27.0.4"
-    jest-util "^27.0.2"
-    jest-validate "^27.0.2"
+    jest-haste-map "^27.0.6"
+    jest-message-util "^27.0.6"
+    jest-mock "^27.0.6"
+    jest-regex-util "^27.0.6"
+    jest-resolve "^27.0.6"
+    jest-snapshot "^27.0.6"
+    jest-util "^27.0.6"
+    jest-validate "^27.0.6"
     slash "^3.0.0"
     strip-bom "^4.0.0"
     yargs "^16.0.3"
 
-jest-serializer@^27.0.1:
-  version "27.0.1"
-  resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.0.1.tgz#2464d04dcc33fb71dc80b7c82e3c5e8a08cb1020"
-  integrity sha512-svy//5IH6bfQvAbkAEg1s7xhhgHTtXu0li0I2fdKHDsLP2P2MOiscPQIENQep8oU2g2B3jqLyxKKzotZOz4CwQ==
+jest-serializer@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.0.6.tgz#93a6c74e0132b81a2d54623251c46c498bb5bec1"
+  integrity sha512-PtGdVK9EGC7dsaziskfqaAPib6wTViY3G8E5wz9tLVPhHyiDNTZn/xjZ4khAw+09QkoOVpn7vF5nPSN6dtBexA==
   dependencies:
     "@types/node" "*"
     graceful-fs "^4.2.4"
 
-jest-snapshot@^27.0.4:
-  version "27.0.4"
-  resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.0.4.tgz#2b96e22ca90382b3e93bd0aae2ce4c78bf51fb5b"
-  integrity sha512-hnjrvpKGdSMvKfbHyaG5Kul7pDJGZvjVy0CKpzhu28MmAssDXS6GpynhXzgst1wBQoKD8c9b2VS2a5yhDLQRCA==
+jest-snapshot@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.0.6.tgz#f4e6b208bd2e92e888344d78f0f650bcff05a4bf"
+  integrity sha512-NTHaz8He+ATUagUgE7C/UtFcRoHqR2Gc+KDfhQIyx+VFgwbeEMjeP+ILpUTLosZn/ZtbNdCF5LkVnN/l+V751A==
   dependencies:
     "@babel/core" "^7.7.2"
     "@babel/generator" "^7.7.2"
@@ -3004,79 +2997,79 @@ jest-snapshot@^27.0.4:
     "@babel/plugin-syntax-typescript" "^7.7.2"
     "@babel/traverse" "^7.7.2"
     "@babel/types" "^7.0.0"
-    "@jest/transform" "^27.0.2"
-    "@jest/types" "^27.0.2"
+    "@jest/transform" "^27.0.6"
+    "@jest/types" "^27.0.6"
     "@types/babel__traverse" "^7.0.4"
     "@types/prettier" "^2.1.5"
     babel-preset-current-node-syntax "^1.0.0"
     chalk "^4.0.0"
-    expect "^27.0.2"
+    expect "^27.0.6"
     graceful-fs "^4.2.4"
-    jest-diff "^27.0.2"
-    jest-get-type "^27.0.1"
-    jest-haste-map "^27.0.2"
-    jest-matcher-utils "^27.0.2"
-    jest-message-util "^27.0.2"
-    jest-resolve "^27.0.4"
-    jest-util "^27.0.2"
+    jest-diff "^27.0.6"
+    jest-get-type "^27.0.6"
+    jest-haste-map "^27.0.6"
+    jest-matcher-utils "^27.0.6"
+    jest-message-util "^27.0.6"
+    jest-resolve "^27.0.6"
+    jest-util "^27.0.6"
     natural-compare "^1.4.0"
-    pretty-format "^27.0.2"
+    pretty-format "^27.0.6"
     semver "^7.3.2"
 
-jest-util@^27.0.2:
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.0.2.tgz#fc2c7ace3c75ae561cf1e5fdb643bf685a5be7c7"
-  integrity sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==
+jest-util@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.0.6.tgz#e8e04eec159de2f4d5f57f795df9cdc091e50297"
+  integrity sha512-1JjlaIh+C65H/F7D11GNkGDDZtDfMEM8EBXsvd+l/cxtgQ6QhxuloOaiayt89DxUvDarbVhqI98HhgrM1yliFQ==
   dependencies:
-    "@jest/types" "^27.0.2"
+    "@jest/types" "^27.0.6"
     "@types/node" "*"
     chalk "^4.0.0"
     graceful-fs "^4.2.4"
     is-ci "^3.0.0"
     picomatch "^2.2.3"
 
-jest-validate@^27.0.2:
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.0.2.tgz#7fe2c100089449cd5cbb47a5b0b6cb7cda5beee5"
-  integrity sha512-UgBF6/oVu1ofd1XbaSotXKihi8nZhg0Prm8twQ9uCuAfo59vlxCXMPI/RKmrZEVgi3Nd9dS0I8A0wzWU48pOvg==
+jest-validate@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.0.6.tgz#930a527c7a951927df269f43b2dc23262457e2a6"
+  integrity sha512-yhZZOaMH3Zg6DC83n60pLmdU1DQE46DW+KLozPiPbSbPhlXXaiUTDlhHQhHFpaqIFRrInko1FHXjTRpjWRuWfA==
   dependencies:
-    "@jest/types" "^27.0.2"
+    "@jest/types" "^27.0.6"
     camelcase "^6.2.0"
     chalk "^4.0.0"
-    jest-get-type "^27.0.1"
+    jest-get-type "^27.0.6"
     leven "^3.1.0"
-    pretty-format "^27.0.2"
+    pretty-format "^27.0.6"
 
-jest-watcher@^27.0.2:
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.0.2.tgz#dab5f9443e2d7f52597186480731a8c6335c5deb"
-  integrity sha512-8nuf0PGuTxWj/Ytfw5fyvNn/R80iXY8QhIT0ofyImUvdnoaBdT6kob0GmhXR+wO+ALYVnh8bQxN4Tjfez0JgkA==
+jest-watcher@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.0.6.tgz#89526f7f9edf1eac4e4be989bcb6dec6b8878d9c"
+  integrity sha512-/jIoKBhAP00/iMGnTwUBLgvxkn7vsOweDrOTSPzc7X9uOyUtJIDthQBTI1EXz90bdkrxorUZVhJwiB69gcHtYQ==
   dependencies:
-    "@jest/test-result" "^27.0.2"
-    "@jest/types" "^27.0.2"
+    "@jest/test-result" "^27.0.6"
+    "@jest/types" "^27.0.6"
     "@types/node" "*"
     ansi-escapes "^4.2.1"
     chalk "^4.0.0"
-    jest-util "^27.0.2"
+    jest-util "^27.0.6"
     string-length "^4.0.1"
 
-jest-worker@^27.0.2:
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.0.2.tgz#4ebeb56cef48b3e7514552f80d0d80c0129f0b05"
-  integrity sha512-EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg==
+jest-worker@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.0.6.tgz#a5fdb1e14ad34eb228cfe162d9f729cdbfa28aed"
+  integrity sha512-qupxcj/dRuA3xHPMUd40gr2EaAurFbkwzOh7wfPaeE9id7hyjURRQoqNfHifHK3XjJU6YJJUQKILGUnwGPEOCA==
   dependencies:
     "@types/node" "*"
     merge-stream "^2.0.0"
     supports-color "^8.0.0"
 
-jest@27.0.4:
-  version "27.0.4"
-  resolved "https://registry.yarnpkg.com/jest/-/jest-27.0.4.tgz#91d4d564b36bcf93b98dac1ab19f07089e670f53"
-  integrity sha512-Px1iKFooXgGSkk1H8dJxxBIrM3tsc5SIuI4kfKYK2J+4rvCvPGr/cXktxh0e9zIPQ5g09kOMNfHQEmusBUf/ZA==
+jest@27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/jest/-/jest-27.0.6.tgz#10517b2a628f0409087fbf473db44777d7a04505"
+  integrity sha512-EjV8aETrsD0wHl7CKMibKwQNQc3gIRBXlTikBmmHUeVMKaPFxdcUIBfoDqTSXDoGJIivAYGqCWVlzCSaVjPQsA==
   dependencies:
-    "@jest/core" "^27.0.4"
+    "@jest/core" "^27.0.6"
     import-local "^3.0.2"
-    jest-cli "^27.0.4"
+    jest-cli "^27.0.6"
 
 js-tokens@^4.0.0:
   version "4.0.0"
@@ -3622,12 +3615,12 @@ prepend-http@^2.0.0:
   resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
   integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=
 
-pretty-format@^27.0.2:
-  version "27.0.2"
-  resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.0.2.tgz#9283ff8c4f581b186b2d4da461617143dca478a4"
-  integrity sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==
+pretty-format@^27.0.6:
+  version "27.0.6"
+  resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.0.6.tgz#ab770c47b2c6f893a21aefc57b75da63ef49a11f"
+  integrity sha512-8tGD7gBIENgzqA+UBzObyWqQ5B778VIFZA/S66cclyd5YkFLYs2Js7gxDKf0MXtTc9zcS7t1xhdfcElJ3YIvkQ==
   dependencies:
-    "@jest/types" "^27.0.2"
+    "@jest/types" "^27.0.6"
     ansi-regex "^5.0.0"
     ansi-styles "^5.0.0"
     react-is "^17.0.1"
@@ -4364,10 +4357,10 @@ v8-compile-cache@^2.0.3:
   resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
   integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
 
-v8-to-istanbul@^7.0.0:
-  version "7.1.2"
-  resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz#30898d1a7fa0c84d225a2c1434fb958f290883c1"
-  integrity sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==
+v8-to-istanbul@^8.0.0:
+  version "8.0.0"
+  resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.0.0.tgz#4229f2a99e367f3f018fa1d5c2b8ec684667c69c"
+  integrity sha512-LkmXi8UUNxnCC+JlH7/fsfsKr5AU110l+SYGJimWNkWhxbN5EyeOtm1MJ0hhvqMMOhGwBj1Fp70Yv9i+hX0QAg==
   dependencies:
     "@types/istanbul-lib-coverage" "^2.0.1"
     convert-source-map "^1.6.0"
@@ -4426,9 +4419,9 @@ whatwg-mimetype@^2.3.0:
   integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==
 
 whatwg-url@^8.0.0, whatwg-url@^8.5.0:
-  version "8.6.0"
-  resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.6.0.tgz#27c0205a4902084b872aecb97cf0f2a7a3011f4c"
-  integrity sha512-os0KkeeqUOl7ccdDT1qqUcS4KH4tcBTSKK5Nl5WKb2lyxInIZ/CpjkqKa1Ss12mjfdcRX9mHmPPs7/SxG1Hbdw==
+  version "8.7.0"
+  resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77"
+  integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==
   dependencies:
     lodash "^4.7.0"
     tr46 "^2.1.0"
@@ -4478,9 +4471,9 @@ write-file-atomic@^3.0.0:
     typedarray-to-buffer "^3.1.5"
 
 ws@^7.4.5:
-  version "7.5.0"
-  resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.0.tgz#0033bafea031fb9df041b2026fc72a571ca44691"
-  integrity sha512-6ezXvzOZupqKj4jUqbQ9tXuJNo+BR2gU8fFRk3XCP3e0G6WT414u5ELe6Y0vtp7kmSJ3F7YWObSNr1ESsgi4vw==
+  version "7.5.1"
+  resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.1.tgz#44fc000d87edb1d9c53e51fbc69a0ac1f6871d66"
+  integrity sha512-2c6faOUH/nhoQN6abwMloF7Iyl0ZS2E9HGtsiLrWn0zOOMWlhtDmdf/uihDt6jnuCxgtwGBNy6Onsoy2s2O2Ow==
 
 xdg-basedir@^4.0.0:
   version "4.0.0"
diff --git a/nixpkgs/pkgs/applications/networking/browsers/vieb/yarn.nix b/nixpkgs/pkgs/applications/networking/browsers/vieb/yarn.nix
index 14e1b9902cca..a92d6defef9f 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/vieb/yarn.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/vieb/yarn.nix
@@ -26,11 +26,11 @@
       };
     }
     {
-      name = "_babel_compat_data___compat_data_7.14.5.tgz";
+      name = "_babel_compat_data___compat_data_7.14.7.tgz";
       path = fetchurl {
-        name = "_babel_compat_data___compat_data_7.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.5.tgz";
-        sha1 = "8ef4c18e58e801c5c95d3c1c0f2874a2680fadea";
+        name = "_babel_compat_data___compat_data_7.14.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.7.tgz";
+        sha1 = "7b047d7a3a89a67d2258dc61f604f098f1bc7e08";
       };
     }
     {
@@ -82,11 +82,11 @@
       };
     }
     {
-      name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.14.5.tgz";
+      name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.14.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.5.tgz";
-        sha1 = "d5c70e4ad13b402c95156c7a53568f504e2fb7b8";
+        name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.14.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz";
+        sha1 = "97e56244beb94211fe277bd818e3a329c66f7970";
       };
     }
     {
@@ -178,11 +178,11 @@
       };
     }
     {
-      name = "_babel_parser___parser_7.14.6.tgz";
+      name = "_babel_parser___parser_7.14.7.tgz";
       path = fetchurl {
-        name = "_babel_parser___parser_7.14.6.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.6.tgz";
-        sha1 = "d85cc68ca3cac84eae384c06f032921f5227f4b2";
+        name = "_babel_parser___parser_7.14.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.7.tgz";
+        sha1 = "6099720c8839ca865a2637e6c85852ead0bdb595";
       };
     }
     {
@@ -298,11 +298,11 @@
       };
     }
     {
-      name = "_babel_traverse___traverse_7.14.5.tgz";
+      name = "_babel_traverse___traverse_7.14.7.tgz";
       path = fetchurl {
-        name = "_babel_traverse___traverse_7.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.5.tgz";
-        sha1 = "c111b0f58afab4fea3d3385a406f692748c59870";
+        name = "_babel_traverse___traverse_7.14.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.7.tgz";
+        sha1 = "64007c9774cfdc3abd23b0780bc18a3ce3631753";
       };
     }
     {
@@ -330,14 +330,6 @@
       };
     }
     {
-      name = "_cliqz_adblocker_electron_preload___adblocker_electron_preload_1.22.1.tgz";
-      path = fetchurl {
-        name = "_cliqz_adblocker_electron_preload___adblocker_electron_preload_1.22.1.tgz";
-        url  = "https://registry.yarnpkg.com/@cliqz/adblocker-electron-preload/-/adblocker-electron-preload-1.22.1.tgz";
-        sha1 = "8ce8c18d0ce5f7afa7c1dfe1f4cba30ada86f4af";
-      };
-    }
-    {
       name = "_cliqz_adblocker_electron_preload___adblocker_electron_preload_1.22.2.tgz";
       path = fetchurl {
         name = "_cliqz_adblocker_electron_preload___adblocker_electron_preload_1.22.2.tgz";
@@ -346,11 +338,11 @@
       };
     }
     {
-      name = "_cliqz_adblocker_electron___adblocker_electron_1.22.1.tgz";
+      name = "_cliqz_adblocker_electron___adblocker_electron_1.22.2.tgz";
       path = fetchurl {
-        name = "_cliqz_adblocker_electron___adblocker_electron_1.22.1.tgz";
-        url  = "https://registry.yarnpkg.com/@cliqz/adblocker-electron/-/adblocker-electron-1.22.1.tgz";
-        sha1 = "13fe6de4be0c3beb2851634b27ea1223d10ca92b";
+        name = "_cliqz_adblocker_electron___adblocker_electron_1.22.2.tgz";
+        url  = "https://registry.yarnpkg.com/@cliqz/adblocker-electron/-/adblocker-electron-1.22.2.tgz";
+        sha1 = "85af3b49f7f653e6fb0d008b6523e3b3ba0dd41e";
       };
     }
     {
@@ -418,91 +410,91 @@
       };
     }
     {
-      name = "_jest_console___console_27.0.2.tgz";
+      name = "_jest_console___console_27.0.6.tgz";
       path = fetchurl {
-        name = "_jest_console___console_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/console/-/console-27.0.2.tgz";
-        sha1 = "b8eeff8f21ac51d224c851e1729d2630c18631e6";
+        name = "_jest_console___console_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/console/-/console-27.0.6.tgz";
+        sha1 = "3eb72ea80897495c3d73dd97aab7f26770e2260f";
       };
     }
     {
-      name = "_jest_core___core_27.0.4.tgz";
+      name = "_jest_core___core_27.0.6.tgz";
       path = fetchurl {
-        name = "_jest_core___core_27.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/core/-/core-27.0.4.tgz";
-        sha1 = "679bf9ac07900da2ddbb9667bb1afa8029038f53";
+        name = "_jest_core___core_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/core/-/core-27.0.6.tgz";
+        sha1 = "c5f642727a0b3bf0f37c4b46c675372d0978d4a1";
       };
     }
     {
-      name = "_jest_environment___environment_27.0.3.tgz";
+      name = "_jest_environment___environment_27.0.6.tgz";
       path = fetchurl {
-        name = "_jest_environment___environment_27.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/environment/-/environment-27.0.3.tgz";
-        sha1 = "68769b1dfdd213e3456169d64fbe9bd63a5fda92";
+        name = "_jest_environment___environment_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/environment/-/environment-27.0.6.tgz";
+        sha1 = "ee293fe996db01d7d663b8108fa0e1ff436219d2";
       };
     }
     {
-      name = "_jest_fake_timers___fake_timers_27.0.3.tgz";
+      name = "_jest_fake_timers___fake_timers_27.0.6.tgz";
       path = fetchurl {
-        name = "_jest_fake_timers___fake_timers_27.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.0.3.tgz";
-        sha1 = "9899ba6304cc636734c74478df502e18136461dd";
+        name = "_jest_fake_timers___fake_timers_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.0.6.tgz";
+        sha1 = "cbad52f3fe6abe30e7acb8cd5fa3466b9588e3df";
       };
     }
     {
-      name = "_jest_globals___globals_27.0.3.tgz";
+      name = "_jest_globals___globals_27.0.6.tgz";
       path = fetchurl {
-        name = "_jest_globals___globals_27.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/globals/-/globals-27.0.3.tgz";
-        sha1 = "1cf8933b7791bba0b99305cbf39fd4d2e3fe4060";
+        name = "_jest_globals___globals_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/globals/-/globals-27.0.6.tgz";
+        sha1 = "48e3903f99a4650673d8657334d13c9caf0e8f82";
       };
     }
     {
-      name = "_jest_reporters___reporters_27.0.4.tgz";
+      name = "_jest_reporters___reporters_27.0.6.tgz";
       path = fetchurl {
-        name = "_jest_reporters___reporters_27.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.0.4.tgz";
-        sha1 = "95609b1be97afb80d55d8aa3d7c3179c15810e65";
+        name = "_jest_reporters___reporters_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.0.6.tgz";
+        sha1 = "91e7f2d98c002ad5df94d5b5167c1eb0b9fd5b00";
       };
     }
     {
-      name = "_jest_source_map___source_map_27.0.1.tgz";
+      name = "_jest_source_map___source_map_27.0.6.tgz";
       path = fetchurl {
-        name = "_jest_source_map___source_map_27.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.0.1.tgz";
-        sha1 = "2afbf73ddbaddcb920a8e62d0238a0a9e0a8d3e4";
+        name = "_jest_source_map___source_map_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.0.6.tgz";
+        sha1 = "be9e9b93565d49b0548b86e232092491fb60551f";
       };
     }
     {
-      name = "_jest_test_result___test_result_27.0.2.tgz";
+      name = "_jest_test_result___test_result_27.0.6.tgz";
       path = fetchurl {
-        name = "_jest_test_result___test_result_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.0.2.tgz";
-        sha1 = "0451049e32ceb609b636004ccc27c8fa22263f10";
+        name = "_jest_test_result___test_result_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.0.6.tgz";
+        sha1 = "3fa42015a14e4fdede6acd042ce98c7f36627051";
       };
     }
     {
-      name = "_jest_test_sequencer___test_sequencer_27.0.4.tgz";
+      name = "_jest_test_sequencer___test_sequencer_27.0.6.tgz";
       path = fetchurl {
-        name = "_jest_test_sequencer___test_sequencer_27.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.0.4.tgz";
-        sha1 = "976493b277594d81e589896f0ed21f198308928a";
+        name = "_jest_test_sequencer___test_sequencer_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.0.6.tgz";
+        sha1 = "80a913ed7a1130545b1cd777ff2735dd3af5d34b";
       };
     }
     {
-      name = "_jest_transform___transform_27.0.2.tgz";
+      name = "_jest_transform___transform_27.0.6.tgz";
       path = fetchurl {
-        name = "_jest_transform___transform_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/transform/-/transform-27.0.2.tgz";
-        sha1 = "b073b7c589e3f4b842102468875def2bb722d6b5";
+        name = "_jest_transform___transform_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/transform/-/transform-27.0.6.tgz";
+        sha1 = "189ad7107413208f7600f4719f81dd2f7278cc95";
       };
     }
     {
-      name = "_jest_types___types_27.0.2.tgz";
+      name = "_jest_types___types_27.0.6.tgz";
       path = fetchurl {
-        name = "_jest_types___types_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/types/-/types-27.0.2.tgz";
-        sha1 = "e153d6c46bda0f2589f0702b071f9898c7bbd37e";
+        name = "_jest_types___types_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/types/-/types-27.0.6.tgz";
+        sha1 = "9a992bc517e0c49f035938b8549719c2de40706b";
       };
     }
     {
@@ -642,11 +634,11 @@
       };
     }
     {
-      name = "_types_babel__traverse___babel__traverse_7.11.1.tgz";
+      name = "_types_babel__traverse___babel__traverse_7.14.0.tgz";
       path = fetchurl {
-        name = "_types_babel__traverse___babel__traverse_7.11.1.tgz";
-        url  = "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.1.tgz";
-        sha1 = "654f6c4f67568e24c23b367e947098c6206fa639";
+        name = "_types_babel__traverse___babel__traverse_7.14.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.0.tgz";
+        sha1 = "a34277cf8acbd3185ea74129e1f100491eb1da7f";
       };
     }
     {
@@ -666,11 +658,11 @@
       };
     }
     {
-      name = "_types_filesystem___filesystem_0.0.30.tgz";
+      name = "_types_filesystem___filesystem_0.0.31.tgz";
       path = fetchurl {
-        name = "_types_filesystem___filesystem_0.0.30.tgz";
-        url  = "https://registry.yarnpkg.com/@types/filesystem/-/filesystem-0.0.30.tgz";
-        sha1 = "a7373a2edf34d13e298baf7ee1101f738b2efb7e";
+        name = "_types_filesystem___filesystem_0.0.31.tgz";
+        url  = "https://registry.yarnpkg.com/@types/filesystem/-/filesystem-0.0.31.tgz";
+        sha1 = "121a1ded274a2dc731d5e0d90163a920ad6a9ef1";
       };
     }
     {
@@ -754,19 +746,19 @@
       };
     }
     {
-      name = "_types_node___node_15.12.4.tgz";
+      name = "_types_node___node_15.12.5.tgz";
       path = fetchurl {
-        name = "_types_node___node_15.12.4.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-15.12.4.tgz";
-        sha1 = "e1cf817d70a1e118e81922c4ff6683ce9d422e26";
+        name = "_types_node___node_15.12.5.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-15.12.5.tgz";
+        sha1 = "9a78318a45d75c9523d2396131bd3cca54b2d185";
       };
     }
     {
-      name = "_types_node___node_14.17.3.tgz";
+      name = "_types_node___node_14.17.4.tgz";
       path = fetchurl {
-        name = "_types_node___node_14.17.3.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.17.3.tgz";
-        sha1 = "6d327abaa4be34a74e421ed6409a0ae2f47f4c3d";
+        name = "_types_node___node_14.17.4.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.17.4.tgz";
+        sha1 = "218712242446fc868d0e007af29a4408c7765bc0";
       };
     }
     {
@@ -858,11 +850,11 @@
       };
     }
     {
-      name = "acorn___acorn_8.4.0.tgz";
+      name = "acorn___acorn_8.4.1.tgz";
       path = fetchurl {
-        name = "acorn___acorn_8.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/acorn/-/acorn-8.4.0.tgz";
-        sha1 = "af53266e698d7cffa416714b503066a82221be60";
+        name = "acorn___acorn_8.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-8.4.1.tgz";
+        sha1 = "56c36251fc7cabc7096adc18f05afe814321a28c";
       };
     }
     {
@@ -1098,11 +1090,11 @@
       };
     }
     {
-      name = "babel_jest___babel_jest_27.0.2.tgz";
+      name = "babel_jest___babel_jest_27.0.6.tgz";
       path = fetchurl {
-        name = "babel_jest___babel_jest_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.0.2.tgz";
-        sha1 = "7dc18adb01322acce62c2af76ea2c7cd186ade37";
+        name = "babel_jest___babel_jest_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.0.6.tgz";
+        sha1 = "e99c6e0577da2655118e3608b68761a5a69bd0d8";
       };
     }
     {
@@ -1114,11 +1106,11 @@
       };
     }
     {
-      name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_27.0.1.tgz";
+      name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_27.0.6.tgz";
       path = fetchurl {
-        name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_27.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.1.tgz";
-        sha1 = "a6d10e484c93abff0f4e95f437dad26e5736ea11";
+        name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.6.tgz";
+        sha1 = "f7c6b3d764af21cb4a2a1ab6870117dbde15b456";
       };
     }
     {
@@ -1130,11 +1122,11 @@
       };
     }
     {
-      name = "babel_preset_jest___babel_preset_jest_27.0.1.tgz";
+      name = "babel_preset_jest___babel_preset_jest_27.0.6.tgz";
       path = fetchurl {
-        name = "babel_preset_jest___babel_preset_jest_27.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.0.1.tgz";
-        sha1 = "7a50c75d16647c23a2cf5158d5bb9eb206b10e20";
+        name = "babel_preset_jest___babel_preset_jest_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.0.6.tgz";
+        sha1 = "909ef08e9f24a4679768be2f60a3df0856843f9d";
       };
     }
     {
@@ -1322,11 +1314,11 @@
       };
     }
     {
-      name = "caniuse_lite___caniuse_lite_1.0.30001239.tgz";
+      name = "caniuse_lite___caniuse_lite_1.0.30001241.tgz";
       path = fetchurl {
-        name = "caniuse_lite___caniuse_lite_1.0.30001239.tgz";
-        url  = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001239.tgz";
-        sha1 = "66e8669985bb2cb84ccb10f68c25ce6dd3e4d2b8";
+        name = "caniuse_lite___caniuse_lite_1.0.30001241.tgz";
+        url  = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001241.tgz";
+        sha1 = "cd3fae47eb3d7691692b406568d7a3e5b23c7598";
       };
     }
     {
@@ -1554,11 +1546,11 @@
       };
     }
     {
-      name = "core_js___core_js_3.15.0.tgz";
+      name = "core_js___core_js_3.15.2.tgz";
       path = fetchurl {
-        name = "core_js___core_js_3.15.0.tgz";
-        url  = "https://registry.yarnpkg.com/core-js/-/core-js-3.15.0.tgz";
-        sha1 = "db9554ebce0b6fd90dc9b1f2465c841d2d055044";
+        name = "core_js___core_js_3.15.2.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-3.15.2.tgz";
+        sha1 = "740660d2ff55ef34ce664d7e2455119c5bdd3d61";
       };
     }
     {
@@ -1666,11 +1658,11 @@
       };
     }
     {
-      name = "decimal.js___decimal.js_10.2.1.tgz";
+      name = "decimal.js___decimal.js_10.3.1.tgz";
       path = fetchurl {
-        name = "decimal.js___decimal.js_10.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz";
-        sha1 = "238ae7b0f0c793d3e3cea410108b35a2c01426a3";
+        name = "decimal.js___decimal.js_10.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz";
+        sha1 = "d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783";
       };
     }
     {
@@ -1754,11 +1746,11 @@
       };
     }
     {
-      name = "diff_sequences___diff_sequences_27.0.1.tgz";
+      name = "diff_sequences___diff_sequences_27.0.6.tgz";
       path = fetchurl {
-        name = "diff_sequences___diff_sequences_27.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.1.tgz";
-        sha1 = "9c9801d52ed5f576ff0a20e3022a13ee6e297e7c";
+        name = "diff_sequences___diff_sequences_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.6.tgz";
+        sha1 = "3305cb2e55a033924054695cc66019fd7f8e5723";
       };
     }
     {
@@ -1858,19 +1850,19 @@
       };
     }
     {
-      name = "electron_to_chromium___electron_to_chromium_1.3.752.tgz";
+      name = "electron_to_chromium___electron_to_chromium_1.3.763.tgz";
       path = fetchurl {
-        name = "electron_to_chromium___electron_to_chromium_1.3.752.tgz";
-        url  = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.752.tgz";
-        sha1 = "0728587f1b9b970ec9ffad932496429aef750d09";
+        name = "electron_to_chromium___electron_to_chromium_1.3.763.tgz";
+        url  = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.763.tgz";
+        sha1 = "93f6f02506d099941f557b9db9ba50b30215bf15";
       };
     }
     {
-      name = "electron___electron_13.1.2.tgz";
+      name = "electron___electron_13.1.4.tgz";
       path = fetchurl {
-        name = "electron___electron_13.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/electron/-/electron-13.1.2.tgz";
-        sha1 = "8c9abf9015766c9cbc16f10c99282d00d6ae1b90";
+        name = "electron___electron_13.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/electron/-/electron-13.1.4.tgz";
+        sha1 = "6d20d932a0651c3cba9f09a3d08cbaf5b69aa84b";
       };
     }
     {
@@ -2122,11 +2114,11 @@
       };
     }
     {
-      name = "expect___expect_27.0.2.tgz";
+      name = "expect___expect_27.0.6.tgz";
       path = fetchurl {
-        name = "expect___expect_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/expect/-/expect-27.0.2.tgz";
-        sha1 = "e66ca3a4c9592f1c019fa1d46459a9d2084f3422";
+        name = "expect___expect_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/expect/-/expect-27.0.6.tgz";
+        sha1 = "a4d74fbe27222c718fff68ef49d78e26a8fd4c05";
       };
     }
     {
@@ -2866,131 +2858,131 @@
       };
     }
     {
-      name = "jest_changed_files___jest_changed_files_27.0.2.tgz";
+      name = "jest_changed_files___jest_changed_files_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_changed_files___jest_changed_files_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.0.2.tgz";
-        sha1 = "997253042b4a032950fc5f56abf3c5d1f8560801";
+        name = "jest_changed_files___jest_changed_files_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.0.6.tgz";
+        sha1 = "bed6183fcdea8a285482e3b50a9a7712d49a7a8b";
       };
     }
     {
-      name = "jest_circus___jest_circus_27.0.4.tgz";
+      name = "jest_circus___jest_circus_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_circus___jest_circus_27.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.0.4.tgz";
-        sha1 = "3b261514ee3b3da33def736a6352c98ff56bb6e6";
+        name = "jest_circus___jest_circus_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.0.6.tgz";
+        sha1 = "dd4df17c4697db6a2c232aaad4e9cec666926668";
       };
     }
     {
-      name = "jest_cli___jest_cli_27.0.4.tgz";
+      name = "jest_cli___jest_cli_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_cli___jest_cli_27.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.0.4.tgz";
-        sha1 = "491b12c754c0d7c6873b13a66f26b3a80a852910";
+        name = "jest_cli___jest_cli_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.0.6.tgz";
+        sha1 = "d021e5f4d86d6a212450d4c7b86cb219f1e6864f";
       };
     }
     {
-      name = "jest_config___jest_config_27.0.4.tgz";
+      name = "jest_config___jest_config_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_config___jest_config_27.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/jest-config/-/jest-config-27.0.4.tgz";
-        sha1 = "c4f41378acf40ca77860fb4e213b12109d87b8cf";
+        name = "jest_config___jest_config_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-config/-/jest-config-27.0.6.tgz";
+        sha1 = "119fb10f149ba63d9c50621baa4f1f179500277f";
       };
     }
     {
-      name = "jest_diff___jest_diff_27.0.2.tgz";
+      name = "jest_diff___jest_diff_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_diff___jest_diff_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.0.2.tgz";
-        sha1 = "f315b87cee5dc134cf42c2708ab27375cc3f5a7e";
+        name = "jest_diff___jest_diff_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.0.6.tgz";
+        sha1 = "4a7a19ee6f04ad70e0e3388f35829394a44c7b5e";
       };
     }
     {
-      name = "jest_docblock___jest_docblock_27.0.1.tgz";
+      name = "jest_docblock___jest_docblock_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_docblock___jest_docblock_27.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.0.1.tgz";
-        sha1 = "bd9752819b49fa4fab1a50b73eb58c653b962e8b";
+        name = "jest_docblock___jest_docblock_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.0.6.tgz";
+        sha1 = "cc78266acf7fe693ca462cbbda0ea4e639e4e5f3";
       };
     }
     {
-      name = "jest_each___jest_each_27.0.2.tgz";
+      name = "jest_each___jest_each_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_each___jest_each_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/jest-each/-/jest-each-27.0.2.tgz";
-        sha1 = "865ddb4367476ced752167926b656fa0dcecd8c7";
+        name = "jest_each___jest_each_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-each/-/jest-each-27.0.6.tgz";
+        sha1 = "cee117071b04060158dc8d9a66dc50ad40ef453b";
       };
     }
     {
-      name = "jest_environment_jsdom___jest_environment_jsdom_27.0.3.tgz";
+      name = "jest_environment_jsdom___jest_environment_jsdom_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_environment_jsdom___jest_environment_jsdom_27.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.0.3.tgz";
-        sha1 = "ed73e913ddc03864eb9f934b5cbabf1b63504e2e";
+        name = "jest_environment_jsdom___jest_environment_jsdom_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.0.6.tgz";
+        sha1 = "f66426c4c9950807d0a9f209c590ce544f73291f";
       };
     }
     {
-      name = "jest_environment_node___jest_environment_node_27.0.3.tgz";
+      name = "jest_environment_node___jest_environment_node_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_environment_node___jest_environment_node_27.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.0.3.tgz";
-        sha1 = "b4acb3679d2552a4215732cab8b0ca7ec4398ee0";
+        name = "jest_environment_node___jest_environment_node_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.0.6.tgz";
+        sha1 = "a6699b7ceb52e8d68138b9808b0c404e505f3e07";
       };
     }
     {
-      name = "jest_get_type___jest_get_type_27.0.1.tgz";
+      name = "jest_get_type___jest_get_type_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_get_type___jest_get_type_27.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.0.1.tgz";
-        sha1 = "34951e2b08c8801eb28559d7eb732b04bbcf7815";
+        name = "jest_get_type___jest_get_type_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.0.6.tgz";
+        sha1 = "0eb5c7f755854279ce9b68a9f1a4122f69047cfe";
       };
     }
     {
-      name = "jest_haste_map___jest_haste_map_27.0.2.tgz";
+      name = "jest_haste_map___jest_haste_map_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_haste_map___jest_haste_map_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.0.2.tgz";
-        sha1 = "3f1819400c671237e48b4d4b76a80a0dbed7577f";
+        name = "jest_haste_map___jest_haste_map_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.0.6.tgz";
+        sha1 = "4683a4e68f6ecaa74231679dca237279562c8dc7";
       };
     }
     {
-      name = "jest_jasmine2___jest_jasmine2_27.0.4.tgz";
+      name = "jest_jasmine2___jest_jasmine2_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_jasmine2___jest_jasmine2_27.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.0.4.tgz";
-        sha1 = "c669519ccf4904a485338555e1e66cad36bb0670";
+        name = "jest_jasmine2___jest_jasmine2_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.0.6.tgz";
+        sha1 = "fd509a9ed3d92bd6edb68a779f4738b100655b37";
       };
     }
     {
-      name = "jest_leak_detector___jest_leak_detector_27.0.2.tgz";
+      name = "jest_leak_detector___jest_leak_detector_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_leak_detector___jest_leak_detector_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.0.2.tgz";
-        sha1 = "ce19aa9dbcf7a72a9d58907a970427506f624e69";
+        name = "jest_leak_detector___jest_leak_detector_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.0.6.tgz";
+        sha1 = "545854275f85450d4ef4b8fe305ca2a26450450f";
       };
     }
     {
-      name = "jest_matcher_utils___jest_matcher_utils_27.0.2.tgz";
+      name = "jest_matcher_utils___jest_matcher_utils_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_matcher_utils___jest_matcher_utils_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.0.2.tgz";
-        sha1 = "f14c060605a95a466cdc759acc546c6f4cbfc4f0";
+        name = "jest_matcher_utils___jest_matcher_utils_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.0.6.tgz";
+        sha1 = "2a8da1e86c620b39459f4352eaa255f0d43e39a9";
       };
     }
     {
-      name = "jest_message_util___jest_message_util_27.0.2.tgz";
+      name = "jest_message_util___jest_message_util_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_message_util___jest_message_util_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.0.2.tgz";
-        sha1 = "181c9b67dff504d8f4ad15cba10d8b80f272048c";
+        name = "jest_message_util___jest_message_util_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.0.6.tgz";
+        sha1 = "158bcdf4785706492d164a39abca6a14da5ab8b5";
       };
     }
     {
-      name = "jest_mock___jest_mock_27.0.3.tgz";
+      name = "jest_mock___jest_mock_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_mock___jest_mock_27.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.0.3.tgz";
-        sha1 = "5591844f9192b3335c0dca38e8e45ed297d4d23d";
+        name = "jest_mock___jest_mock_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.0.6.tgz";
+        sha1 = "0efdd40851398307ba16778728f6d34d583e3467";
       };
     }
     {
@@ -3002,99 +2994,99 @@
       };
     }
     {
-      name = "jest_regex_util___jest_regex_util_27.0.1.tgz";
+      name = "jest_regex_util___jest_regex_util_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_regex_util___jest_regex_util_27.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.0.1.tgz";
-        sha1 = "69d4b1bf5b690faa3490113c47486ed85dd45b68";
+        name = "jest_regex_util___jest_regex_util_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.0.6.tgz";
+        sha1 = "02e112082935ae949ce5d13b2675db3d8c87d9c5";
       };
     }
     {
-      name = "jest_resolve_dependencies___jest_resolve_dependencies_27.0.4.tgz";
+      name = "jest_resolve_dependencies___jest_resolve_dependencies_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_resolve_dependencies___jest_resolve_dependencies_27.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.0.4.tgz";
-        sha1 = "a07a242d70d668afd3fcf7f4270755eebb1fe579";
+        name = "jest_resolve_dependencies___jest_resolve_dependencies_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.0.6.tgz";
+        sha1 = "3e619e0ef391c3ecfcf6ef4056207a3d2be3269f";
       };
     }
     {
-      name = "jest_resolve___jest_resolve_27.0.4.tgz";
+      name = "jest_resolve___jest_resolve_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_resolve___jest_resolve_27.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.0.4.tgz";
-        sha1 = "8a27bc3f2f00c8ea28f3bc99bbf6f468300a703d";
+        name = "jest_resolve___jest_resolve_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.0.6.tgz";
+        sha1 = "e90f436dd4f8fbf53f58a91c42344864f8e55bff";
       };
     }
     {
-      name = "jest_runner___jest_runner_27.0.4.tgz";
+      name = "jest_runner___jest_runner_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_runner___jest_runner_27.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.0.4.tgz";
-        sha1 = "2787170a9509b792ae129794f6944d27d5d12a4f";
+        name = "jest_runner___jest_runner_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.0.6.tgz";
+        sha1 = "1325f45055539222bbc7256a6976e993ad2f9520";
       };
     }
     {
-      name = "jest_runtime___jest_runtime_27.0.4.tgz";
+      name = "jest_runtime___jest_runtime_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_runtime___jest_runtime_27.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.0.4.tgz";
-        sha1 = "2e4a6aa77cac32ac612dfe12768387a8aa15c2f0";
+        name = "jest_runtime___jest_runtime_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.0.6.tgz";
+        sha1 = "45877cfcd386afdd4f317def551fc369794c27c9";
       };
     }
     {
-      name = "jest_serializer___jest_serializer_27.0.1.tgz";
+      name = "jest_serializer___jest_serializer_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_serializer___jest_serializer_27.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.0.1.tgz";
-        sha1 = "2464d04dcc33fb71dc80b7c82e3c5e8a08cb1020";
+        name = "jest_serializer___jest_serializer_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.0.6.tgz";
+        sha1 = "93a6c74e0132b81a2d54623251c46c498bb5bec1";
       };
     }
     {
-      name = "jest_snapshot___jest_snapshot_27.0.4.tgz";
+      name = "jest_snapshot___jest_snapshot_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_snapshot___jest_snapshot_27.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.0.4.tgz";
-        sha1 = "2b96e22ca90382b3e93bd0aae2ce4c78bf51fb5b";
+        name = "jest_snapshot___jest_snapshot_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.0.6.tgz";
+        sha1 = "f4e6b208bd2e92e888344d78f0f650bcff05a4bf";
       };
     }
     {
-      name = "jest_util___jest_util_27.0.2.tgz";
+      name = "jest_util___jest_util_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_util___jest_util_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/jest-util/-/jest-util-27.0.2.tgz";
-        sha1 = "fc2c7ace3c75ae561cf1e5fdb643bf685a5be7c7";
+        name = "jest_util___jest_util_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-util/-/jest-util-27.0.6.tgz";
+        sha1 = "e8e04eec159de2f4d5f57f795df9cdc091e50297";
       };
     }
     {
-      name = "jest_validate___jest_validate_27.0.2.tgz";
+      name = "jest_validate___jest_validate_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_validate___jest_validate_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.0.2.tgz";
-        sha1 = "7fe2c100089449cd5cbb47a5b0b6cb7cda5beee5";
+        name = "jest_validate___jest_validate_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.0.6.tgz";
+        sha1 = "930a527c7a951927df269f43b2dc23262457e2a6";
       };
     }
     {
-      name = "jest_watcher___jest_watcher_27.0.2.tgz";
+      name = "jest_watcher___jest_watcher_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_watcher___jest_watcher_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.0.2.tgz";
-        sha1 = "dab5f9443e2d7f52597186480731a8c6335c5deb";
+        name = "jest_watcher___jest_watcher_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.0.6.tgz";
+        sha1 = "89526f7f9edf1eac4e4be989bcb6dec6b8878d9c";
       };
     }
     {
-      name = "jest_worker___jest_worker_27.0.2.tgz";
+      name = "jest_worker___jest_worker_27.0.6.tgz";
       path = fetchurl {
-        name = "jest_worker___jest_worker_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.0.2.tgz";
-        sha1 = "4ebeb56cef48b3e7514552f80d0d80c0129f0b05";
+        name = "jest_worker___jest_worker_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.0.6.tgz";
+        sha1 = "a5fdb1e14ad34eb228cfe162d9f729cdbfa28aed";
       };
     }
     {
-      name = "jest___jest_27.0.4.tgz";
+      name = "jest___jest_27.0.6.tgz";
       path = fetchurl {
-        name = "jest___jest_27.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/jest/-/jest-27.0.4.tgz";
-        sha1 = "91d4d564b36bcf93b98dac1ab19f07089e670f53";
+        name = "jest___jest_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest/-/jest-27.0.6.tgz";
+        sha1 = "10517b2a628f0409087fbf473db44777d7a04505";
       };
     }
     {
@@ -3786,11 +3778,11 @@
       };
     }
     {
-      name = "pretty_format___pretty_format_27.0.2.tgz";
+      name = "pretty_format___pretty_format_27.0.6.tgz";
       path = fetchurl {
-        name = "pretty_format___pretty_format_27.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.0.2.tgz";
-        sha1 = "9283ff8c4f581b186b2d4da461617143dca478a4";
+        name = "pretty_format___pretty_format_27.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.0.6.tgz";
+        sha1 = "ab770c47b2c6f893a21aefc57b75da63ef49a11f";
       };
     }
     {
@@ -4682,11 +4674,11 @@
       };
     }
     {
-      name = "v8_to_istanbul___v8_to_istanbul_7.1.2.tgz";
+      name = "v8_to_istanbul___v8_to_istanbul_8.0.0.tgz";
       path = fetchurl {
-        name = "v8_to_istanbul___v8_to_istanbul_7.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz";
-        sha1 = "30898d1a7fa0c84d225a2c1434fb958f290883c1";
+        name = "v8_to_istanbul___v8_to_istanbul_8.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.0.0.tgz";
+        sha1 = "4229f2a99e367f3f018fa1d5c2b8ec684667c69c";
       };
     }
     {
@@ -4754,11 +4746,11 @@
       };
     }
     {
-      name = "whatwg_url___whatwg_url_8.6.0.tgz";
+      name = "whatwg_url___whatwg_url_8.7.0.tgz";
       path = fetchurl {
-        name = "whatwg_url___whatwg_url_8.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.6.0.tgz";
-        sha1 = "27c0205a4902084b872aecb97cf0f2a7a3011f4c";
+        name = "whatwg_url___whatwg_url_8.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz";
+        sha1 = "656a78e510ff8f3937bc0bcbe9f5c0ac35941b77";
       };
     }
     {
@@ -4810,11 +4802,11 @@
       };
     }
     {
-      name = "ws___ws_7.5.0.tgz";
+      name = "ws___ws_7.5.1.tgz";
       path = fetchurl {
-        name = "ws___ws_7.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/ws/-/ws-7.5.0.tgz";
-        sha1 = "0033bafea031fb9df041b2026fc72a571ca44691";
+        name = "ws___ws_7.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-7.5.1.tgz";
+        sha1 = "44fc000d87edb1d9c53e51fbc69a0ac1f6871d66";
       };
     }
     {
diff --git a/nixpkgs/pkgs/applications/networking/cluster/argo/default.nix b/nixpkgs/pkgs/applications/networking/cluster/argo/default.nix
index 78d6ea1a1e7e..a49879e53528 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/argo/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/argo/default.nix
@@ -19,16 +19,16 @@ let
 in
 buildGoModule rec {
   pname = "argo";
-  version = "3.0.7";
+  version = "3.1.1";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo";
     rev = "v${version}";
-    sha256 = "sha256-lZTSUNtmJZKONt0Bv42dBAc+87L14HaPxvPxhFe8nyc=";
+    sha256 = "sha256-WErNPofVnV6L7DkYU/dh4mWm+u7UJNFUmRN6IZzMb2g=";
   };
 
-  vendorSha256 = "sha256-YjVAoMyGKMHLGEPeOOkCKCzeWFiUsXfJIKcw5GYoljg=";
+  vendorSha256 = "sha256-99N//woGPx9QEtkFsktaiAbu7TS+3DHArBA52OUJFU4=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/fluxctl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/fluxctl/default.nix
index fadaa94995cb..bba0b74172a9 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/fluxctl/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/fluxctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "fluxctl";
-  version = "1.22.2";
+  version = "1.23.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = "flux";
     rev = version;
-    sha256 = "sha256-qYdVplNHyD31m4IbIeL3x3nauZLl1XquslS3WrtUXBk=";
+    sha256 = "sha256-CJY7XjHJ6suJrjhnG+w5oM1FtVnegcbkCVGjyoBtBag=";
   };
 
-  vendorSha256 = "sha256-4uSw/9lI/rdDqy78jNC9eHYW/v/sMFb+sQvwYG6GZks=";
+  vendorSha256 = "sha256-aC6E+PpuUqFhZKvQT5AuxpPmHfhjCwHzwFHDzk5wazw=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/fn-cli/default.nix b/nixpkgs/pkgs/applications/networking/cluster/fn-cli/default.nix
index 8620c43cdbe7..95e16797cf4f 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/fn-cli/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/fn-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "fn";
-  version = "0.6.7";
+  version = "0.6.8";
 
   src = fetchFromGitHub {
     owner = "fnproject";
     repo = "cli";
     rev = version;
-    sha256 = "sha256-50tPR+x3U4XJB6lthEiZjOy2pD8LprSE41ZpH2Px8JY=";
+    sha256 = "sha256-8b1VyukVMTXLAnvYcjXgTdPtMq3YxJgTpxe25Kj+Wpw=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/applications/networking/cluster/helm/default.nix b/nixpkgs/pkgs/applications/networking/cluster/helm/default.nix
index 6eb80edb99a7..69961a2c0a07 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/helm/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/helm/default.nix
@@ -2,20 +2,25 @@
 
 buildGoModule rec {
   pname = "helm";
-  version = "3.6.1";
+  version = "3.6.2";
+  gitCommit = "ee407bdf364942bcb8e8c665f82e15aa28009b71";
 
   src = fetchFromGitHub {
     owner = "helm";
     repo = "helm";
     rev = "v${version}";
-    sha256 = "sha256-MXMgCqdFNRMJaStoFMx8BO8OI1B7FqSETk0zW6a/vbE=";
+    sha256 = "1s40zbk83s1kylcglydw356282virf1828v9waj1zs1gjnjml69h";
   };
-  vendorSha256 = "sha256-PTAyRG6PZK+vaiheUd3oiu4iBGlnFjoCrci0CYbXjBk=";
+  vendorSha256 = "06ccsy30kd68ml13l5k7d4225vlax3fm2pi8dapsyr4gdr234c1x";
 
   doCheck = false;
 
   subPackages = [ "cmd/helm" ];
-  buildFlagsArray = [ "-ldflags=-w -s -X helm.sh/helm/v3/internal/version.version=v${version}" ];
+  ldflags = [
+    "-w" "-s"
+    "-X helm.sh/helm/v3/internal/version.version=v${version}"
+    "-X helm.sh/helm/v3/internal/version.gitCommit=${gitCommit}"
+  ];
 
   nativeBuildInputs = [ installShellFiles ];
   postInstall = ''
diff --git a/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix b/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix
index 4d7e170c2018..ec3f21c69d15 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "helm-secrets";
-  version = "3.7.0";
+  version = "3.8.1";
 
   src = fetchFromGitHub {
     owner = "jkroepke";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-AM+TLeSrXjn10DiQzXSqSwTqsc7CjTdnf6TWetden7g=";
+    hash = "sha256-UZu3jChEK59UrtUR2ze68Kkc6MkHRtTsfTOS/B96sLM=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix b/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix
index ad719061847b..8da48f8485f4 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "k9s";
-  version = "0.24.10";
+  version = "0.24.13";
 
   src = fetchFromGitHub {
     owner  = "derailed";
     repo   = "k9s";
     rev    = "v${version}";
-    sha256 = "sha256-ImWIR112q59hyKHXBmb9W6eVvu4xr+U4+uh2ZGcXv1g=";
+    sha256 = "sha256-5gMRjnrk1FyTj3Lzp+6scLuqfP8rCUvDDBK33/RzG28=";
   };
 
   buildFlagsArray = ''
@@ -18,7 +18,7 @@ buildGoModule rec {
       -X github.com/derailed/k9s/cmd.commit=${src.rev}
   '';
 
-  vendorSha256 = "sha256-EEN3nKQBtAGG7MAa9h11KFPZ9g7xtNxhFB1i/2QS66g=";
+  vendorSha256 = "sha256-JBWQxRaMvIbUiOD7sJiZH1SHNCdysgh5FeSmYf+FdG4=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kops/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kops/default.nix
index 5566854a325f..4dc37364e7ba 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kops/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kops/default.nix
@@ -65,8 +65,8 @@ rec {
   };
 
   kops_1_20 = mkKops rec {
-    version = "1.20.1";
-    sha256 = "sha256-k6ODXbh7Bh+rBw6bjSNLxLY0fz7JLnrmJibnXz5qnSc=";
+    version = "1.20.2";
+    sha256 = "011ib3xkj6nn7qax8d0ns8y4jhkwwmry1qnzxklvzssaxhmzs557";
     rev = "v${version}";
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubeconform/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubeconform/default.nix
index c62cbb2a67a7..cc0f1e0bf64c 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kubeconform/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kubeconform/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kubeconform";
-  version = "0.4.7";
+  version = "0.4.8";
 
   src = fetchFromGitHub {
     owner = "yannh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ahVdKMx3u2KnJ30wi9rV8JCVg9wPmbgdrtG8IpWWlCs=";
+    sha256 = "sha256-XD8xGqtE7eaBxPL4Z0Kw4BEqM2fdgww7wl8wJ1U3u0U=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/applications/networking/cluster/linkerd/default.nix b/nixpkgs/pkgs/applications/networking/cluster/linkerd/default.nix
index 31fae0e31c2e..7b5e5810581a 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/linkerd/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/linkerd/default.nix
@@ -64,8 +64,8 @@ in
     };
     edge = generic {
       channel = "edge";
-      version = "21.6.3";
-      sha256 = "sha256-NgfbkeVRl0AGNkZSS2nSAHp4eZ49QNSEYMuFe1G5iBY=";
-      vendorSha256 = "sha256-rq/MHo5MG2EKZ3d937TIDXFCoWnLlQO3C/fo1bhRxCA=";
+      version = "21.7.1";
+      sha256 = "sha256-VLq776A0H2IZLBeYjXpYzFixcydw/OcYsvKFxeLuewo=";
+      vendorSha256 = "sha256-xSOPMFHfyCmG+yTzBfKR7F5KYV0gcKRNM0UrxpGBpE4=";
     };
   }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/luigi/default.nix b/nixpkgs/pkgs/applications/networking/cluster/luigi/default.nix
index ef85494bd140..2c839e84a4e6 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/luigi/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/luigi/default.nix
@@ -9,7 +9,7 @@ python3.pkgs.buildPythonApplication rec {
     sha256 = "b4b1ccf086586d041d7e91e68515d495c550f30e4d179d63863fea9ccdbb78eb";
   };
 
-  propagatedBuildInputs = with python3.pkgs; [ dateutil tornado python-daemon boto3 ];
+  propagatedBuildInputs = with python3.pkgs; [ python-dateutil tornado python-daemon boto3 ];
 
   # Requires tox, hadoop, and google cloud
   doCheck = false;
diff --git a/nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix b/nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix
index 929c254a1bd2..ac7a301fe06d 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix
@@ -12,9 +12,9 @@
 
 buildGoModule rec {
   pname = "minikube";
-  version = "1.20.0";
+  version = "1.21.0";
 
-  vendorSha256 = "sha256-ncgf2C4PZMoVMZIMDn9LwP2EDqg7T/WbUPRd/SqGGnU=";
+  vendorSha256 = "sha256-3G9QO5OMnMkMCsGIze/E9bvx6fvlXtOqiv8lGTkLN3s=";
 
   doCheck = false;
 
@@ -22,7 +22,7 @@ buildGoModule rec {
     owner = "kubernetes";
     repo = "minikube";
     rev = "v${version}";
-    sha256 = "sha256-TnvbO8OLjnI5WGy3QR4OZbesOBat2VsL7ElCnj2Tkmk=";
+    sha256 = "sha256-PbCwGPJZvnJCIVK7FYa1gI4aO4sIeh8iQtYOHAQBaZE=";
   };
 
   nativeBuildInputs = [ go-bindata installShellFiles pkg-config which ];
diff --git a/nixpkgs/pkgs/applications/networking/cluster/nerdctl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/nerdctl/default.nix
index 7be59ee1661c..418f3259178a 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/nerdctl/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/nerdctl/default.nix
@@ -10,23 +10,21 @@
 
 buildGoModule rec {
   pname = "nerdctl";
-  version = "0.8.3";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-mBoqyDfGho2e4RuFwkiU2R+zb38LzByWtH4pOhguueY=";
+    sha256 = "sha256-cqIIpdkQ6DF7DKXvwCoJBQKG0+lL8iP/Vx0q7rL8prg=";
   };
 
-  vendorSha256 = "sha256-S3Gp7HkBIZNZ8rkp64XaUQUj1TggGwI9FMrVkyLCQWA=";
+  vendorSha256 = "sha256-0+k1e7Sn+NYGAJDVUbUm0oedc1t2blezUhsjDIuIKvA=";
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
-  preBuild = let t = "github.com/containerd/nerdctl/pkg/version"; in
-    ''
-      buildFlagsArray+=("-ldflags" "-s -w -X ${t}.Version=v${version} -X ${t}.Revision=<unknown>")
-    '';
+  ldflags = let t = "github.com/containerd/nerdctl/pkg/version"; in
+    [ "-s" "-w" "-X ${t}.Version=v${version}" "-X ${t}.Revision=<unknown>" ];
 
   # Many checks require a containerd socket and running nerdctl after it's built
   doCheck = false;
diff --git a/nixpkgs/pkgs/applications/networking/cluster/stern/default.nix b/nixpkgs/pkgs/applications/networking/cluster/stern/default.nix
index 962647993447..09851e67ab56 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/stern/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/stern/default.nix
@@ -4,16 +4,18 @@ let isCrossBuild = stdenv.hostPlatform != stdenv.buildPlatform;
 in
 buildGoModule rec {
   pname = "stern";
-  version = "1.14.0";
+  version = "1.19.0";
 
   src = fetchFromGitHub {
     owner = "stern";
     repo = "stern";
     rev = "v${version}";
-    sha256 = "sha256-8l/Tr+IxR3yPmt9hI70XuUQ4YEYzRTMLbo8BsngoU60=";
+    sha256 = "sha256-jgmURvc1did3YgtqWlAzFbWxc3jHHylOfCVOLeAC7V8=";
   };
 
-  vendorSha256 = "sha256-pvFT4A7bDBvBf1odyv3z4inw1/IsvOA+++OPbfNjzxM=";
+  vendorSha256 = "sha256-p8WoFDwABXcO54WKP5bszoht2JdjHlRJjbG8cMyNo6A=";
+
+  subPackages = [ "." ];
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/tanka/default.nix b/nixpkgs/pkgs/applications/networking/cluster/tanka/default.nix
index c792a38001a6..bf11b35d71aa 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/tanka/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/tanka/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "tanka";
-  version = "0.16.0";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-KvQIVJZD/VvLE5RocWLRVGbb8faLY2cBeFSE/6E7x50=";
+    sha256 = "sha256-9UfSKMyapmDyikRqs7UiA4YYcvj/Tin9pRqC9iFLPWE=";
   };
 
   vendorSha256 = "sha256-vpm2y/CxRNWkz6+AOMmmZH5AjRQWAa6WD5Fnx5lqJYw=";
diff --git a/nixpkgs/pkgs/applications/networking/cluster/tektoncd-cli/default.nix b/nixpkgs/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
index 03f02c55ad2d..a7778af231d6 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "tektoncd-cli";
-  version = "0.19.0";
+  version = "0.19.1";
 
   src = fetchFromGitHub {
     owner = "tektoncd";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-fWcHjpfbpj2lrJ0FawhQJuSxAEX1WwOY7m+CAgag4qk=";
+    sha256 = "sha256-duJSTk5LmJWbaVYybZZHWDe8E/ZqZLCCsdPIiH5d/G4=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.json b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.json
index 03cceb4b868e..e738a6ad7753 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -175,11 +175,13 @@
     "version": "0.1.0"
   },
   "cloudflare": {
-    "owner": "terraform-providers",
+    "owner": "cloudflare",
+    "provider-source-address": "registry.terraform.io/cloudflare/cloudflare",
     "repo": "terraform-provider-cloudflare",
-    "rev": "v2.7.0",
-    "sha256": "1r18lxhfi2sd42ja4bzxbkf5bli8iljrpqbgdcn1a7rcf44vnxa2",
-    "version": "2.7.0"
+    "rev": "v2.23.0",
+    "sha256": "0cyw6lddw3pj5lqra78qn0nd16ffay86vc8sqa68grx7ik9jgn7l",
+    "vendorSha256": "19fdwif81lqp848jhawd09b0lalslrwadd519vsdw03v2wp4p962",
+    "version": "2.23.0"
   },
   "cloudinit": {
     "owner": "hashicorp",
diff --git a/nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix
index faf817d1c7f7..1717d3209007 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "terragrunt";
-  version = "0.30.7";
+  version = "0.31.0";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-zcb2bdIvUeHEto2NeY0Zwj7jIB+ipVXpnb7q97IkvmA=";
+    sha256 = "sha256-JRIwPOExPbwLS7ps4pJpvIRaZ9jZZjVK+POaUHAmiPI=";
   };
 
-  vendorSha256 = "sha256-OgNNq1qRhCufcWemLxh50pzs432RxZpWWcyBB7xeiOs=";
+  vendorSha256 = "sha256-lck4nabDhFA8N0lo+cIKiJjlg2TGx3qMExbblHQwbvQ=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/tfswitch/default.nix b/nixpkgs/pkgs/applications/networking/cluster/tfswitch/default.nix
new file mode 100644
index 000000000000..f56f8bc6d652
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/cluster/tfswitch/default.nix
@@ -0,0 +1,32 @@
+{ buildGoModule, lib, fetchFromGitHub }:
+buildGoModule rec {
+  pname = "tfswitch";
+  version = "0.12.1119";
+
+  src = fetchFromGitHub {
+    owner = "warrensbox";
+    repo = "terraform-switcher";
+    rev = version;
+    sha256 = "1xsmr4hnmdg2il3rp39cyhv55ha4qcilcsr00iiija3bzxsm4rya";
+  };
+
+  vendorSha256 = "0mpm4m07v8w02g95cnj73m5gvd118id4ag2pym8d9r2svkyz5n70";
+
+  # Disable tests since it requires network access and relies on the
+  # presence of release.hashicorp.com
+  doCheck = false;
+
+  runVend = true;
+
+  postInstall = ''
+    # The binary is named tfswitch
+    mv $out/bin/terraform-switcher $out/bin/tfswitch
+  '';
+
+  meta = with lib; {
+    description = "A command line tool to switch between different versions of terraform";
+    homepage = "https://github.com/warrensbox/terraform-switcher";
+    license = licenses.mit;
+    maintainers = with maintainers; [ psibi ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/cluster/waypoint/default.nix b/nixpkgs/pkgs/applications/networking/cluster/waypoint/default.nix
index 3675aba028c8..b0d0d6193e27 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/waypoint/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/waypoint/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "waypoint";
-  version = "0.4.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-yeD7XtcB/2ph6cCnOcv0yFQqvAMPDLXMrUWWkgmBUaA=";
+    sha256 = "sha256-JB/0nU/05Agh4fWFeSfrUHFtR8cQjxdXW0QHAoH0dDc=";
   };
 
   deleteVendor = true;
-  vendorSha256 = "sha256-xZGYPh3Yp3g22GraYfMESVpp7j5fOZASUEvN4YaDd1g=";
+  vendorSha256 = "sha256-2YrCRdpRk+gPHN8flahgWb2sbK5dYL5ivVqeJSsiy8Y=";
 
   nativeBuildInputs = [ go-bindata installShellFiles ];
 
diff --git a/nixpkgs/pkgs/applications/networking/dnscontrol/default.nix b/nixpkgs/pkgs/applications/networking/dnscontrol/default.nix
index a17f3d2e40da..69f71a7479e1 100644
--- a/nixpkgs/pkgs/applications/networking/dnscontrol/default.nix
+++ b/nixpkgs/pkgs/applications/networking/dnscontrol/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "dnscontrol";
-  version = "3.9.0";
+  version = "3.10.1";
 
   src = fetchFromGitHub {
     owner = "StackExchange";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-9lIjQaMYy0FGMkR29Es3BMIAcn+jQYudyFJHwezlXKM=";
+    sha256 = "sha256-fYQqH/J027XJPML/qKMpuu2Nxuvb0cyjOu2czLH8SoM=";
   };
 
-  vendorSha256 = "sha256-thvbqDhLdY+g/byFHJ9Tdiw8WYRccu4X1Rb0pdhE34E=";
+  vendorSha256 = "sha256-225TR9jTZSGEJZz3csl/pR/v2unUK67l08x5ESQTJzA=";
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/applications/networking/feedreaders/gnome-feeds/default.nix b/nixpkgs/pkgs/applications/networking/feedreaders/gnome-feeds/default.nix
index 62ffe15e6183..9b173e856827 100644
--- a/nixpkgs/pkgs/applications/networking/feedreaders/gnome-feeds/default.nix
+++ b/nixpkgs/pkgs/applications/networking/feedreaders/gnome-feeds/default.nix
@@ -51,7 +51,7 @@ python3.pkgs.buildPythonApplication rec {
 
   propagatedBuildInputs = with python3.pkgs; [
     beautifulsoup4
-    dateutil
+    python-dateutil
     feedparser
     html5lib
     listparser
diff --git a/nixpkgs/pkgs/applications/networking/flexget/default.nix b/nixpkgs/pkgs/applications/networking/flexget/default.nix
index 228c6b471509..61e42ce22ec1 100644
--- a/nixpkgs/pkgs/applications/networking/flexget/default.nix
+++ b/nixpkgs/pkgs/applications/networking/flexget/default.nix
@@ -46,7 +46,7 @@ python3Packages.buildPythonApplication rec {
     pynzb
     pyparsing
     PyRSS2Gen
-    dateutil
+    python-dateutil
     pyyaml
     rebulk
     requests
diff --git a/nixpkgs/pkgs/applications/networking/giara/default.nix b/nixpkgs/pkgs/applications/networking/giara/default.nix
index 940756855b99..1f4d2e0a2d90 100644
--- a/nixpkgs/pkgs/applications/networking/giara/default.nix
+++ b/nixpkgs/pkgs/applications/networking/giara/default.nix
@@ -48,7 +48,7 @@ python3.pkgs.buildPythonApplication rec {
   pythonPath = with python3.pkgs; [
     pygobject3
     pycairo
-    dateutil
+    python-dateutil
     praw
     pillow
     mistune
diff --git a/nixpkgs/pkgs/applications/networking/ids/snort/default.nix b/nixpkgs/pkgs/applications/networking/ids/snort/default.nix
index 714ca1c8990f..938626806cae 100644
--- a/nixpkgs/pkgs/applications/networking/ids/snort/default.nix
+++ b/nixpkgs/pkgs/applications/networking/ids/snort/default.nix
@@ -3,13 +3,13 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.9.16.1";
+  version = "2.9.18";
   pname = "snort";
 
   src = fetchurl {
     name = "${pname}-${version}.tar.gz";
     url = "https://snort.org/downloads/archive/snort/${pname}-${version}.tar.gz";
-    sha256 = "13lzvjli6kbsnkd7lf0rm71l2mnz38pxk76ia9yrjb6clfhlbb73";
+    sha256 = "0xrc7crchflfrk4x5dq5zx22zkmgcrbkww5r1pvkc3cyyr18cc6h";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/networking/ids/suricata/default.nix b/nixpkgs/pkgs/applications/networking/ids/suricata/default.nix
index 22a7d74e14d3..5d24f589abca 100644
--- a/nixpkgs/pkgs/applications/networking/ids/suricata/default.nix
+++ b/nixpkgs/pkgs/applications/networking/ids/suricata/default.nix
@@ -34,11 +34,11 @@
 in
 stdenv.mkDerivation rec {
   pname = "suricata";
-  version = "6.0.2";
+  version = "6.0.3";
 
   src = fetchurl {
     url = "https://www.openinfosecfoundation.org/download/${pname}-${version}.tar.gz";
-    sha256 = "sha256-XkZHoHyzG11tAEmXKkU3XBN96QipZKROLW0jH6OtS1I=";
+    sha256 = "sha256-2vE0uy18mAA16a5g96rzEzI6gJNAAJ8m5IEQzN6B9gI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/networking/ids/zeek/default.nix b/nixpkgs/pkgs/applications/networking/ids/zeek/default.nix
index 7ee55c452990..979d765e9e6e 100644
--- a/nixpkgs/pkgs/applications/networking/ids/zeek/default.nix
+++ b/nixpkgs/pkgs/applications/networking/ids/zeek/default.nix
@@ -21,11 +21,11 @@
 
 stdenv.mkDerivation rec {
   pname = "zeek";
-  version = "4.0.2";
+  version = "4.0.3";
 
   src = fetchurl {
     url = "https://download.zeek.org/zeek-${version}.tar.gz";
-    sha256 = "15gxxgg7nmfmswlbxhvcp6alq5k9wpvrm5cwyf1qfd7xsfli61sm";
+    sha256 = "1nrkwaj0dilyzhfl6yma214vyakvpi97acyffdr7n4kdm4m6pvik";
   };
 
   nativeBuildInputs = [ cmake flex bison file ];
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/dino/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/dino/default.nix
index d4332c0265c5..7f0127c28fd8 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/dino/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/dino/default.nix
@@ -4,7 +4,6 @@
 , xorg, libXdmcp, libxkbcommon
 , libnotify, libsoup, libgee
 , librsvg, libsignal-protocol-c
-, fetchpatch
 , libgcrypt
 , epoxy
 , at-spi2-core
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/kdeltachat/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/kdeltachat/default.nix
index 89154ad939ea..4918a4d91f82 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/kdeltachat/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/kdeltachat/default.nix
@@ -13,13 +13,13 @@
 
 mkDerivation rec {
   pname = "kdeltachat";
-  version = "unstable-2021-06-14";
+  version = "unstable-2021-07-04";
 
   src = fetchFromSourcehut {
     owner = "~link2xt";
     repo = "kdeltachat";
-    rev = "25da4228768e260ea9f67d5aa10558e7cf9cf7ee";
-    sha256 = "17igh34cbd0w5mzra4k779nxc5s8hk6sj25h308w079y0b21lf7w";
+    rev = "5d3cddc47773b49d4a801d031c1de96c38617908";
+    sha256 = "1sah27pvdkilnyj41xf4awri9ya14gxayr99qksllz92ywd9lxad";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-mm-sms/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-mm-sms/default.nix
new file mode 100644
index 000000000000..3bdecf504ceb
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-mm-sms/default.nix
@@ -0,0 +1,30 @@
+{ lib, stdenv, glibmm, pidgin, pkg-config, modemmanager, fetchFromGitLab } :
+
+stdenv.mkDerivation rec {
+  pname = "purple-mm-sms";
+  version = "0.1.7";
+
+  src = fetchFromGitLab {
+    domain = "source.puri.sm";
+    owner = "Librem5";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0917gjig35hmi6isqb62vhxd3lkc2nwdn13ym2gvzgcjfgjzjajr";
+  };
+
+  makeFlags = [
+    "DATA_ROOT_DIR_PURPLE=$(out)/share"
+    "PLUGIN_DIR_PURPLE=$(out)/lib/purple-2"
+  ];
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ glibmm pidgin modemmanager ];
+
+  meta = with lib; {
+    homepage = "https://source.puri.sm/Librem5/purple-mm-sms";
+    description = "A libpurple plugin for sending and receiving SMS via Modemmanager";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ tomfitzhenry ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/psi-plus/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
index 03f8f7b961ab..c180cdb4e01f 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
@@ -3,6 +3,10 @@
 , libidn, qca-qt5, libXScrnSaver, hunspell
 , libsecret, libgcrypt, libotr, html-tidy, libgpgerror, libsignal-protocol-c
 , usrsctp
+
+# Voice messages
+, voiceMessagesSupport ? true
+, gst_all_1
 }:
 
 mkDerivation rec {
@@ -27,8 +31,17 @@ mkDerivation rec {
     libidn qca-qt5 libXScrnSaver hunspell
     libsecret libgcrypt libotr html-tidy libgpgerror libsignal-protocol-c
     usrsctp
+  ] ++ lib.optionals voiceMessagesSupport [
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
   ];
 
+  preFixup = lib.optionalString voiceMessagesSupport ''
+    qtWrapperArgs+=(
+      --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
+    )
+  '';
+
   meta = with lib; {
     homepage = "https://psi-plus.com";
     description = "XMPP (Jabber) client";
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/salut-a-toi/requirements.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/salut-a-toi/requirements.nix
index 8277028ac7b8..a8e711c447d5 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/salut-a-toi/requirements.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/salut-a-toi/requirements.nix
@@ -55,7 +55,7 @@ in {
       sha256 = "0rnshrzw8605x05mpd8ndrx3ri8h6cx713mp8sl4f04f4gcrz8ml";
     };
 
-    propagatedBuildInputs = with pythonPackages; [twisted dateutil];
+    propagatedBuildInputs = with pythonPackages; [twisted python-dateutil];
 
     meta = with lib; {
       description = "Some (mainly XMPP-related) additions to twisted";
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index 2189d1b0ba21..a9de901cd870 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -28,7 +28,7 @@ let
       else "");
 in stdenv.mkDerivation rec {
   pname = "signal-desktop";
-  version = "5.6.2"; # Please backport all updates to the stable channel.
+  version = "5.7.1"; # 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:
@@ -38,7 +38,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 = "0cdzww741l4s95n5gq5zx5l3zvxinxbqa9y6wf8wjq7rzn6bwqx3";
+    sha256 = "1hjykjqf3n20aab9g3bwk5w8x8v61320xv6z4iqrwwdzfkb3ly20";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/teams/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/teams/default.nix
index ab6274cdf346..1267340c0985 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/teams/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/teams/default.nix
@@ -13,6 +13,7 @@
 , gawk
 , xdg-utils
 , systemd
+, nodePackages
 , enableRectOverlay ? false }:
 
 stdenv.mkDerivation rec {
@@ -24,7 +25,7 @@ stdenv.mkDerivation rec {
     sha256 = "1kx4j837fd344zy90nl0j3r8cdvihy6i6gf56wd5n56zngx1fhjv";
   };
 
-  nativeBuildInputs = [ dpkg autoPatchelfHook wrapGAppsHook ];
+  nativeBuildInputs = [ dpkg autoPatchelfHook wrapGAppsHook nodePackages.asar ];
 
   unpackCmd = "dpkg -x $curSrc .";
 
@@ -40,11 +41,27 @@ stdenv.mkDerivation rec {
   ];
 
   preFixup = ''
-    gappsWrapperArgs+=(--prefix PATH : "${coreutils}/bin:${gawk}/bin:${xdg-utils}/bin")
+    gappsWrapperArgs+=(--prefix PATH : "${coreutils}/bin:${gawk}/bin")
     gappsWrapperArgs+=(--add-flags --disable-namespace-sandbox)
     gappsWrapperArgs+=(--add-flags --disable-setuid-sandbox)
   '';
 
+
+  buildPhase = ''
+    runHook preBuild
+
+    asar extract share/teams/resources/app.asar "$TMP/work"
+    substituteInPlace $TMP/work/main.bundle.js \
+        --replace "/usr/share/pixmaps/" "$out/share/pixmaps" \
+        --replace "/usr/bin/xdg-mime" "${xdg-utils}/bin/xdg-mime" \
+        --replace "Exec=/usr/bin/" "Exec=" # Remove usage of absolute path in autostart.
+    asar pack --unpack='{*.node,*.ftz,rect-overlay}' "$TMP/work" share/teams/resources/app.asar
+
+    runHook postBuild
+  '';
+
+  preferLocalBuild = true;
+
   installPhase = ''
     runHook preInstall
 
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index 76d149048a3a..47aa7c7330f2 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -1,7 +1,7 @@
 { mkDerivation, lib, fetchFromGitHub, callPackage
 , pkg-config, cmake, ninja, python3, wrapGAppsHook, wrapQtAppsHook, removeReferencesTo
-, qtbase, qtimageformats, gtk3, libsForQt5, enchant2, lz4, xxHash
-, dee, ffmpeg, openalSoft, minizip, libopus, alsa-lib, libpulseaudio, range-v3
+, qtbase, qtimageformats, gtk3, libsForQt5, lz4, xxHash
+, ffmpeg, openalSoft, minizip, libopus, alsa-lib, libpulseaudio, range-v3
 , tl-expected, hunspell, glibmm, webkitgtk
 , libtgvoip, rnnoise, abseil-cpp, extra-cmake-modules
 # Transitive dependencies:
@@ -23,7 +23,7 @@ let
   tg_owt = callPackage ./tg_owt.nix {};
 in mkDerivation rec {
   pname = "telegram-desktop";
-  version = "2.8.3";
+  version = "2.8.4";
   # Note: Update via pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py
 
   # Telegram-Desktop with submodules
@@ -32,12 +32,10 @@ in mkDerivation rec {
     repo = "tdesktop";
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "1ywxsy3a99sdibipriblbzskmkqbnxwrz3lavfdr134wq8w8rjf7";
+    sha256 = "sha256-IN3GQgdNM66/GxKa5EGKB/LIkgBxS8Y4mkPBaSEphmw=";
   };
 
   postPatch = ''
-    substituteInPlace Telegram/lib_spellcheck/spellcheck/platform/linux/linux_enchant.cpp \
-      --replace '"libenchant-2.so.2"' '"${enchant2}/lib/libenchant-2.so.2"'
     substituteInPlace Telegram/CMakeLists.txt \
       --replace '"''${TDESKTOP_LAUNCHER_BASENAME}.appdata.xml"' '"''${TDESKTOP_LAUNCHER_BASENAME}.metainfo.xml"'
   '';
@@ -49,8 +47,8 @@ in mkDerivation rec {
   nativeBuildInputs = [ pkg-config cmake ninja python3 wrapGAppsHook wrapQtAppsHook removeReferencesTo ];
 
   buildInputs = [
-    qtbase qtimageformats gtk3 libsForQt5.kwayland libsForQt5.libdbusmenu enchant2 lz4 xxHash
-    dee ffmpeg openalSoft minizip libopus alsa-lib libpulseaudio range-v3
+    qtbase qtimageformats gtk3 libsForQt5.kwayland libsForQt5.libdbusmenu lz4 xxHash
+    ffmpeg openalSoft minizip libopus alsa-lib libpulseaudio range-v3
     tl-expected hunspell glibmm webkitgtk
     libtgvoip rnnoise abseil-cpp extra-cmake-modules
     tg_owt
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
index 3a22ea0681e2..fc8fbdcede3d 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
@@ -22,13 +22,13 @@ let
   pname = "wire-desktop";
 
   version = {
-    x86_64-darwin = "3.25.4095";
-    x86_64-linux = "3.25.2940";
+    x86_64-darwin = "3.26.4145";
+    x86_64-linux = "3.26.2941";
   }.${system} or throwSystem;
 
   sha256 = {
-    x86_64-darwin = "01gbmbxs3w7lwsy5wjpr7fgqkb20rj5fv1r3dsmjkfwy45pd835j";
-    x86_64-linux = "1vb2fy8hijjp0193d32d8hw7h00w6wympf3zc96skk8hz3ks6xz8";
+    x86_64-darwin = "1ck74a9z2mrwmljrqm347bqhjiaf1v0bf1jfnp58cqngh5ygqnf2";
+    x86_64-linux = "01gy84gr0gw5ap7hpy72azaf6hlzac7vxkn5cgad5sfbyzxgjgc9";
   }.${system} or throwSystem;
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/networking/irc/kirc/default.nix b/nixpkgs/pkgs/applications/networking/irc/kirc/default.nix
new file mode 100644
index 000000000000..c4f63613fc57
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/irc/kirc/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+}:
+
+stdenv.mkDerivation rec {
+  pname = "kirc";
+  version = "0.2.7";
+
+  src = fetchFromGitHub {
+    owner = "mcpcpc";
+    repo = pname;
+    rev = version;
+    hash = "sha256-iaqj4xB15DB3w/RaiCOMdAu8eONhTw1Dz0j5kykAHV4=";
+  };
+
+  dontConfigure = true;
+
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
+
+  meta = with lib; {
+    homepage = "http://kirc.io/";
+    description = "Tiny IRC client written in C99";
+    longDescription = ''
+      kirc is a tiny open-source Internet Relay Chat (IRC) client designed with
+      usability and cross-platform compatibility in mind.
+
+      It features:
+      - No dependencies other than a C99 compiler.
+      - Simple Authentication and Security Layer (SASL) procotol support.
+      - Client-to-client (CTCP) protocol support.
+      - Transport Layer Security (TLS) protocol support (via external
+        utilities).
+      - Simple chat history logging.
+      - Asynchronous message handling.
+      - Multi-channel joining at server connection.
+      - Full support for all RFC 2812 commands.
+      - Easy customized color scheme definition.
+    '';
+    license = licenses.mit;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/buffer_autoset/default.nix b/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/buffer_autoset/default.nix
new file mode 100644
index 000000000000..a2e9fc3265a3
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/buffer_autoset/default.nix
@@ -0,0 +1,26 @@
+{ lib, stdenv, fetchurl, weechat }:
+
+stdenv.mkDerivation {
+  pname = "buffer_autoset";
+  version = "1.2";
+
+  src = fetchurl {
+    url = "https://raw.githubusercontent.com/weechat/scripts/2b308b44df39ba6563d02b2bcd40c384ec2777dc/python/buffer_autoset.py";
+    sha256 = "0csl3sfpijdbq1j6wabx347lvn91a24a2jfx5b5pspfxz7gixli1";
+  };
+
+  dontUnpack = true;
+
+  passthru.scripts = [ "buffer_autoset.py" ];
+
+  installPhase = ''
+    install -D $src $out/share/buffer_autoset.py
+  '';
+
+  meta = with lib; {
+    inherit (weechat.meta) platforms;
+    description = "buffer_autoset.py is a weechat script which auto-set buffer properties when a buffer is opened.";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ govanify ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/default.nix b/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/default.nix
index 1923e86abe20..8bd6f771ed24 100644
--- a/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/default.nix
@@ -23,6 +23,11 @@
 
   weechat-otr = callPackage ./weechat-otr { };
 
-  zncplayback = callPackage ./zncplayback { };
+  weechat-go = callPackage ./weechat-go { };
+
+  buffer_autoset = callPackage ./buffer_autoset { };
 
+  highmon = callPackage ./highmon { };
+
+  zncplayback = callPackage ./zncplayback { };
 }
diff --git a/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/highmon/default.nix b/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/highmon/default.nix
new file mode 100644
index 000000000000..f65322465707
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/highmon/default.nix
@@ -0,0 +1,31 @@
+{ lib, stdenv, fetchurl, weechat }:
+
+stdenv.mkDerivation {
+  pname = "highmon";
+  version = "2.7";
+
+  src = fetchurl {
+    url = "https://raw.githubusercontent.com/KenjiE20/highmon/182e67d070c75efc81999e68c2ac7fdfe44d2872/highmon.pl";
+    sha256 = "1vvgzscb12l3cp2nq954fx6j3awvpjsb0nqylal51ps9cq9a3wir";
+  };
+
+  dontUnpack = true;
+
+  passthru.scripts = [ "highmon.pl" ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -D $src $out/share/highmon.pl
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    inherit (weechat.meta) platforms;
+    homepage = "https://github.com/KenjiE20/highmon/";
+    description = "highmon.pl is a weechat script that adds 'Highlight Monitor'.";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ govanify ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/weechat-go/default.nix b/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/weechat-go/default.nix
new file mode 100644
index 000000000000..623b2570b475
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/weechat-go/default.nix
@@ -0,0 +1,26 @@
+{ lib, stdenv, fetchurl, weechat }:
+
+stdenv.mkDerivation {
+  pname = "weechat-go";
+  version = "2.7";
+
+  src = fetchurl {
+    url = "https://github.com/weechat/scripts/raw/414cff3ee605ba204b607742430a21443c035b08/python/go.py";
+    sha256 = "0bnbfpj1qg4yzwbikh1aw5ajc8l44lkb0y0m6mz8grpf5bxk5cwm";
+  };
+
+  dontUnpack = true;
+
+  passthru.scripts = [ "go.py" ];
+
+  installPhase = ''
+    install -D $src $out/share/go.py
+  '';
+
+  meta = with lib; {
+    inherit (weechat.meta) platforms;
+    description = "go.py is a weechat script to quickly jump to different buffers";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ govanify ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/juju/default.nix b/nixpkgs/pkgs/applications/networking/juju/default.nix
new file mode 100644
index 000000000000..b4de49730fe8
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/juju/default.nix
@@ -0,0 +1,25 @@
+{ lib, fetchFromGitHub, buildGoModule }:
+
+buildGoModule rec {
+  pname = "juju";
+  version = "2.8.7";
+
+  src = fetchFromGitHub {
+    owner = "juju";
+    repo = "juju";
+    rev = "juju-${version}";
+    sha256 = "sha256-ZiG+LMeQboFxaLIBSHjRNe5tt8bEguYXQp3nhkoMpek=";
+  };
+
+  vendorSha256 = "sha256-5R3TmwOzHgdEQhS4B4Bb0InghaEhUVxDSl7oZl3aNZ4=";
+
+  # Disable tests because it attempts to use a mongodb instance
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Open source modelling tool for operating software in the cloud";
+    homepage = "https://juju.is";
+    license = licenses.mit;
+    maintainers = with maintainers; [ citadelcore ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/maestral-qt/default.nix b/nixpkgs/pkgs/applications/networking/maestral-qt/default.nix
index d35120e575be..18189f64a6d6 100644
--- a/nixpkgs/pkgs/applications/networking/maestral-qt/default.nix
+++ b/nixpkgs/pkgs/applications/networking/maestral-qt/default.nix
@@ -6,14 +6,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "maestral-qt";
-  version = "1.4.4";
+  version = "1.4.6";
   disabled = python3.pkgs.pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "SamSchott";
     repo = "maestral-qt";
     rev = "v${version}";
-    sha256 = "sha256-4IrLwpdMepXBxjgR6euENuVKaPRU0dLiApJO45DB2C4=";
+    sha256 = "sha256-Y4n67LJyNUsLmGMu7B73n888qmCQ9HjxCSM1MlfTbqQ=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/nixpkgs/pkgs/applications/networking/mumble/default.nix b/nixpkgs/pkgs/applications/networking/mumble/default.nix
index e0c5b50be0f3..d93fea1f702a 100644
--- a/nixpkgs/pkgs/applications/networking/mumble/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mumble/default.nix
@@ -63,7 +63,7 @@ let
       description = "Low-latency, high quality voice chat software";
       homepage = "https://mumble.info";
       license = licenses.bsd3;
-      maintainers = with maintainers; [ petabyteboy infinisil ];
+      maintainers = with maintainers; [ petabyteboy infinisil felixsinger ];
       platforms = platforms.linux;
     };
   });
diff --git a/nixpkgs/pkgs/applications/networking/owncloud-client/default.nix b/nixpkgs/pkgs/applications/networking/owncloud-client/default.nix
index 761d0e6b2440..34ab19f6e27a 100644
--- a/nixpkgs/pkgs/applications/networking/owncloud-client/default.nix
+++ b/nixpkgs/pkgs/applications/networking/owncloud-client/default.nix
@@ -1,16 +1,16 @@
-{ lib, fetchurl, mkDerivation, cmake, pkg-config, qtbase, qtkeychain, sqlite, libsecret }:
+{ lib, fetchurl, mkDerivation, cmake, extra-cmake-modules, pkg-config, qtbase, qtkeychain, sqlite, libsecret }:
 
 mkDerivation rec {
   pname = "owncloud-client";
-  version = "2.6.3.14058";
+  version = "2.8.2.4246";
 
   src = fetchurl {
-    url = "https://download.owncloud.com/desktop/stable/owncloudclient-${version}.tar.xz";
-    sha256 = "1xcklhvbyg34clm9as2rjnjfwxpwq77lmdxj6qc0w7q43viqvlz3";
+    url = "https://download.owncloud.com/desktop/ownCloud/stable/${version}/source/ownCloud-${version}.tar.xz";
+    sha256 = "0cc2e5154a1349bd21941ac3c32e8621778a9ff150730a19de2710e22d32fc43";
   };
 
-  nativeBuildInputs = [ pkg-config cmake ];
-  buildInputs = [ qtbase qtkeychain sqlite ];
+  nativeBuildInputs = [ pkg-config cmake extra-cmake-modules ];
+  buildInputs = [ qtbase qtkeychain sqlite libsecret ];
 
   qtWrapperArgs = [
     "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libsecret ]}"
diff --git a/nixpkgs/pkgs/applications/networking/seafile-client/default.nix b/nixpkgs/pkgs/applications/networking/seafile-client/default.nix
index 6b73f03531d0..446da4cdea32 100644
--- a/nixpkgs/pkgs/applications/networking/seafile-client/default.nix
+++ b/nixpkgs/pkgs/applications/networking/seafile-client/default.nix
@@ -1,27 +1,18 @@
-{ mkDerivation, lib, fetchFromGitHub, fetchpatch, pkg-config, cmake, qtbase, qttools
+{ mkDerivation, lib, fetchFromGitHub, pkg-config, cmake, qtbase, qttools
 , seafile-shared, jansson, libsearpc
 , withShibboleth ? true, qtwebengine }:
 
 mkDerivation rec {
   pname = "seafile-client";
-  version = "8.0.1";
+  version = "8.0.3";
 
   src = fetchFromGitHub {
     owner = "haiwen";
     repo = "seafile-client";
-    rev = "b4b944921c7efef13a93d693c45c997943899dec";
-    sha256 = "2vV+6ZXjVg81JVLfWeD0UK+RdmpBxBU2Ozx790WFSyw=";
+    rev = "v${version}";
+    sha256 = "cG3OSqRhYnxlzfauQia6pM/1gu+iE5mtHTGk3kGMFH0=";
   };
 
-  patches = [
-    # Fix compilation failure with "error: template with C linkage", fixes #122505
-    (fetchpatch {
-      url = "https://aur.archlinux.org/cgit/aur.git/plain/fix_build_with_glib2.diff?h=seafile-client&id=7be253aaa2bdb6771721f45aa08bc875c8001c5a";
-      name = "fix_build_with_glib2.diff";
-      sha256 = "0hl7rcqfr8k62c1pr133bp3j63b905izaaggmgvr1af4jibal05v";
-    })
-  ];
-
   nativeBuildInputs = [ pkg-config cmake ];
   buildInputs = [ qtbase qttools seafile-shared jansson libsearpc ]
     ++ lib.optional withShibboleth qtwebengine;
diff --git a/nixpkgs/pkgs/applications/networking/seaweedfs/default.nix b/nixpkgs/pkgs/applications/networking/seaweedfs/default.nix
index 522cef2b8a79..36518db09917 100644
--- a/nixpkgs/pkgs/applications/networking/seaweedfs/default.nix
+++ b/nixpkgs/pkgs/applications/networking/seaweedfs/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "seaweedfs";
-  version = "2.50";
+  version = "2.56";
 
   src = fetchFromGitHub {
     owner = "chrislusf";
     repo = "seaweedfs";
     rev = version;
-    sha256 = "sha256-ai8/XryFw/7GYuWAmLkqHzK97QgTBPyE6m3dflck94w=";
+    sha256 = "1y9abk2i0qk5c00dnw8wvasy7dmmy6az8d1cf9bq0dwh8g8kylbn";
   };
 
-  vendorSha256 = "sha256-gJQDcACMWZWS4CgS2NDALoBzxu7Hh4ZW3f0gUFUALCM=";
+  vendorSha256 = "015qvd0h786z1iwv81i107z92mqhzldp1hkcsp75wzf4j7nmzxvf";
 
   subPackages = [ "weed" ];
 
diff --git a/nixpkgs/pkgs/applications/networking/shellhub-agent/default.nix b/nixpkgs/pkgs/applications/networking/shellhub-agent/default.nix
index 7ecb8936a690..aa5175fca9ed 100644
--- a/nixpkgs/pkgs/applications/networking/shellhub-agent/default.nix
+++ b/nixpkgs/pkgs/applications/networking/shellhub-agent/default.nix
@@ -9,18 +9,18 @@
 
 buildGoModule rec {
   pname = "shellhub-agent";
-  version = "0.7.1";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     owner = "shellhub-io";
     repo = "shellhub";
     rev = "v${version}";
-    sha256 = "0fgkjv7p2p0k58ifs77qfy0ni2yhrmk8rqyysjxq0im6j3f3az11";
+    sha256 = "02ka7acynkwkml2pavlv4j5vkm6x5aq5sfxgydv26qzs39f1wdgc";
   };
 
   modRoot = "./agent";
 
-  vendorSha256 = "1avl5xvav9y2vni5w3ksvrcz67x2kkadqw9p1cfq5rkjny1c2jrg";
+  vendorSha256 = "18z3vwcwkyj6hcvl35qmj034237h9l18dvcbx1hxry7qdwv807c9";
 
   buildFlagsArray = [ "-ldflags=-s -w -X main.AgentVersion=v${version}" ];
 
diff --git a/nixpkgs/pkgs/applications/networking/sync/acd_cli/default.nix b/nixpkgs/pkgs/applications/networking/sync/acd_cli/default.nix
index 519242b887cc..f630cb4071a4 100644
--- a/nixpkgs/pkgs/applications/networking/sync/acd_cli/default.nix
+++ b/nixpkgs/pkgs/applications/networking/sync/acd_cli/default.nix
@@ -1,5 +1,5 @@
 { lib, fetchFromGitHub, buildPythonApplication, fuse
-, appdirs, colorama, dateutil, requests, requests_toolbelt
+, appdirs, colorama, python-dateutil, requests, requests_toolbelt
 , fusepy, sqlalchemy, setuptools }:
 
 buildPythonApplication rec {
@@ -15,7 +15,7 @@ buildPythonApplication rec {
     sha256 = "0a0fr632l24a3jmgla3b1vcm50ayfa9hdbp677ch1chwj5dq4zfp";
   };
 
-  propagatedBuildInputs = [ appdirs colorama dateutil fusepy requests
+  propagatedBuildInputs = [ appdirs colorama python-dateutil fusepy requests
                             requests_toolbelt setuptools sqlalchemy ];
 
   makeWrapperArgs = [ "--prefix LIBFUSE_PATH : ${fuse}/lib/libfuse.so" ];
diff --git a/nixpkgs/pkgs/applications/networking/syncthing-gtk/default.nix b/nixpkgs/pkgs/applications/networking/syncthing-gtk/default.nix
index 158999f86fee..caa46942ca92 100644
--- a/nixpkgs/pkgs/applications/networking/syncthing-gtk/default.nix
+++ b/nixpkgs/pkgs/applications/networking/syncthing-gtk/default.nix
@@ -1,6 +1,6 @@
 { lib, fetchFromGitHub, fetchpatch, libnotify, librsvg, killall
 , gtk3, libappindicator-gtk3, substituteAll, syncthing, wrapGAppsHook
-, gnome, buildPythonApplication, dateutil, pyinotify, pygobject3
+, gnome, buildPythonApplication, python-dateutil, pyinotify, pygobject3
 , bcrypt, gobject-introspection, gsettings-desktop-schemas
 , pango, gdk-pixbuf, atk }:
 
@@ -30,7 +30,7 @@ buildPythonApplication rec {
   ];
 
   propagatedBuildInputs = [
-    dateutil pyinotify pygobject3 bcrypt
+    python-dateutil pyinotify pygobject3 bcrypt
   ];
 
   patches = [
diff --git a/nixpkgs/pkgs/applications/office/fava/default.nix b/nixpkgs/pkgs/applications/office/fava/default.nix
index cdef23cff4c5..92f48eb91b82 100644
--- a/nixpkgs/pkgs/applications/office/fava/default.nix
+++ b/nixpkgs/pkgs/applications/office/fava/default.nix
@@ -2,11 +2,11 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "fava";
-  version = "1.18";
+  version = "1.19";
 
   src = python3.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "21336b695708497e6f00cab77135b174c51feb2713b657e0e208282960885bf5";
+    sha256 = "def7c0210bf0ce8dfffdb46ce21b3efcf71eba5a4e903565258419e4c53c2d43";
   };
 
   nativeBuildInputs = with python3.pkgs; [ setuptools-scm ];
diff --git a/nixpkgs/pkgs/applications/office/notes-up/default.nix b/nixpkgs/pkgs/applications/office/notes-up/default.nix
index 8271b2974ce4..de09bc1c761c 100644
--- a/nixpkgs/pkgs/applications/office/notes-up/default.nix
+++ b/nixpkgs/pkgs/applications/office/notes-up/default.nix
@@ -1,9 +1,10 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , nix-update-script
 , pantheon
 , pkg-config
-, vala_0_46
+, vala
 , cmake
 , ninja
 , gtk3
@@ -12,27 +13,28 @@
 , gtkspell3
 , glib
 , libgee
+, pcre
 , sqlite
 , discount
 , wrapGAppsHook
-, withPantheon ? false }:
+, withPantheon ? false
+}:
 
 stdenv.mkDerivation rec {
   pname = "notes-up";
-  version = "2.0.2";
+  version = "unstable-2020-12-29";
 
   src = fetchFromGitHub {
     owner = "Philip-Scott";
     repo = "Notes-up";
-    rev = version;
-    sha256 = "0bklgp8qrrj9y5m77xqbpy1ld2d9ya3rlxklgzx3alffq5312i4s";
+    rev = "2ea9f35f588769758f5d2d4436d71c4059141a6f";
+    sha256 = "sha256-lKOM9+s34xYB9bF9pgip9DFu+6AaxSE4HjFVhoWtttk=";
   };
 
   nativeBuildInputs = [
     cmake
     ninja
-    # fails with newer vala: https://github.com/Philip-Scott/Notes-up/issues/349
-    vala_0_46
+    vala
     pkg-config
     wrapGAppsHook
   ];
@@ -45,6 +47,7 @@ stdenv.mkDerivation rec {
     gtkspell3
     libgee
     pantheon.granite
+    pcre
     sqlite
     webkitgtk
   ];
@@ -60,9 +63,9 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Markdown notes editor and manager designed for elementary OS"
-    + lib.optionalString withPantheon " - built with Contractor support";
+      + lib.optionalString withPantheon " - built with Contractor support";
     homepage = "https://github.com/Philip-Scott/Notes-up";
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     maintainers = with maintainers; [ davidak ];
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/applications/office/paperless/default.nix b/nixpkgs/pkgs/applications/office/paperless/default.nix
index c2578696c688..68032ebe8497 100644
--- a/nixpkgs/pkgs/applications/office/paperless/default.nix
+++ b/nixpkgs/pkgs/applications/office/paperless/default.nix
@@ -122,7 +122,7 @@ let
 
   runtimePackages = with python.pkgs; [
     dateparser
-    dateutil
+    python-dateutil
     django
     django-cors-headers
     django-crispy-forms
diff --git a/nixpkgs/pkgs/applications/office/paperwork/paperwork-gtk.nix b/nixpkgs/pkgs/applications/office/paperwork/paperwork-gtk.nix
index 8f1278d99266..16ee7733ed26 100644
--- a/nixpkgs/pkgs/applications/office/paperwork/paperwork-gtk.nix
+++ b/nixpkgs/pkgs/applications/office/paperwork/paperwork-gtk.nix
@@ -122,7 +122,7 @@ python3Packages.buildPythonApplication rec {
     openpaperwork-core
     pypillowfight
     pyxdg
-    dateutil
+    python-dateutil
     setuptools
   ];
 
diff --git a/nixpkgs/pkgs/applications/office/pyspread/default.nix b/nixpkgs/pkgs/applications/office/pyspread/default.nix
index 54d3b8f5c3e2..3c68c19aa97c 100644
--- a/nixpkgs/pkgs/applications/office/pyspread/default.nix
+++ b/nixpkgs/pkgs/applications/office/pyspread/default.nix
@@ -34,7 +34,7 @@ python3.pkgs.buildPythonApplication rec {
   ];
 
   propagatedBuildInputs = with python3.pkgs; [
-    dateutil
+    python-dateutil
     markdown2
     matplotlib
     numpy
diff --git a/nixpkgs/pkgs/applications/office/softmaker/generic.nix b/nixpkgs/pkgs/applications/office/softmaker/generic.nix
index 56a951919e36..3c139e1eead7 100644
--- a/nixpkgs/pkgs/applications/office/softmaker/generic.nix
+++ b/nixpkgs/pkgs/applications/office/softmaker/generic.nix
@@ -123,7 +123,7 @@ in stdenv.mkDerivation {
     description = "An office suite with a word processor, spreadsheet and presentation program";
     homepage = "https://www.softmaker.com/";
     license = licenses.unfree;
-    maintainers = with maintainers; [ danieldk ];
+    maintainers = with maintainers; [ ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/office/super-productivity/default.nix b/nixpkgs/pkgs/applications/office/super-productivity/default.nix
index 7793db2138c8..7cb9a9b7e992 100644
--- a/nixpkgs/pkgs/applications/office/super-productivity/default.nix
+++ b/nixpkgs/pkgs/applications/office/super-productivity/default.nix
@@ -5,11 +5,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "super-productivity";
-  version = "6.5.2";
+  version = "7.2.1";
 
   src = fetchurl {
     url = "https://github.com/johannesjo/super-productivity/releases/download/v${version}/superProductivity-${version}.AppImage";
-    sha256 = "1ivl7chsv9axgk6nqkf580pav651hchi3di0mrp0pylpsqgk6f1f";
+    sha256 = "93eeb56fe923c48a9384cde0633e98a9d9dc5c0869fce63b9724ff74bb400049";
     name = "${pname}-${version}.AppImage";
   };
 
diff --git a/nixpkgs/pkgs/applications/office/timedoctor/default.nix b/nixpkgs/pkgs/applications/office/timedoctor/default.nix
index f4ce436e963b..e6d3186578a4 100644
--- a/nixpkgs/pkgs/applications/office/timedoctor/default.nix
+++ b/nixpkgs/pkgs/applications/office/timedoctor/default.nix
@@ -15,7 +15,7 @@ appimageTools.wrapType2 {
     url = "https://repo2.timedoctor.com/td-desktop-hybrid/prod/v${version}/timedoctor-desktop_${version}_linux-x86_64.AppImage";
   };
   multiPkgs = _: with _; [
-    alsaLib
+    alsa-lib
     atk
     at-spi2-atk
     at-spi2-core
diff --git a/nixpkgs/pkgs/applications/office/trilium/default.nix b/nixpkgs/pkgs/applications/office/trilium/default.nix
index d6b7e08b4be9..a1be66c56f12 100644
--- a/nixpkgs/pkgs/applications/office/trilium/default.nix
+++ b/nixpkgs/pkgs/applications/office/trilium/default.nix
@@ -19,16 +19,16 @@ let
     maintainers = with maintainers; [ fliegendewurst ];
   };
 
-  version = "0.47.4";
+  version = "0.47.5";
 
   desktopSource = {
     url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
-    sha256 = "0hvp6rpvgda12ficzqkj7kllgmpzc8n4rvpgv0zi6fa5alkr944x";
+    sha256 = "16sm93vzlsqmrykbzdvgwszbhq79brd74zp9n9q5wrf4s44xizzv";
   };
 
   serverSource = {
     url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz";
-    sha256 = "01bbg7ssszrq27zk7xzil2mawk1659h1hw68yvk8lbgc4n9phkqk";
+    sha256 = "0jk9pf3ljzfdv7d91wxda8z9qz653qas58wsrx42gnf7zxn1l648";
   };
 
 in {
diff --git a/nixpkgs/pkgs/applications/office/tryton/default.nix b/nixpkgs/pkgs/applications/office/tryton/default.nix
index b3a5ae44c936..ff4835411ef5 100644
--- a/nixpkgs/pkgs/applications/office/tryton/default.nix
+++ b/nixpkgs/pkgs/applications/office/tryton/default.nix
@@ -36,7 +36,7 @@ python3Packages.buildPythonApplication rec {
   ];
 
   propagatedBuildInputs = with python3Packages; [
-    dateutil
+    python-dateutil
     pygobject3
     goocalendar
     pycairo
diff --git a/nixpkgs/pkgs/applications/radio/gnuradio/3.8.nix b/nixpkgs/pkgs/applications/radio/gnuradio/3.8.nix
index f20ffe01bdc9..05a87a480f39 100644
--- a/nixpkgs/pkgs/applications/radio/gnuradio/3.8.nix
+++ b/nixpkgs/pkgs/applications/radio/gnuradio/3.8.nix
@@ -42,14 +42,14 @@
 , versionAttr ? {
   major = "3.8";
   minor = "3";
-  patch = "0";
+  patch = "1";
 }
 # We use our build of volk and not the one bundled with the release
 , fetchSubmodules ? false
 }:
 
 let
-  sourceSha256 = "0lwbj3slhc8bjjvfw7yz45if21hajydgy2vsjvj2barzmhfb37fd";
+  sourceSha256 = "0vd39azp8n576dbqsanax7bgsnxwc80riaxid2ihxs4xzyjmbw9r";
   featuresInfo = {
     # Needed always
     basic = {
@@ -242,6 +242,7 @@ stdenv.mkDerivation rec {
     # From some reason, if these are not set, libcodec2 and gsm are not
     # detected properly. The issue is reported upstream:
     # https://github.com/gnuradio/gnuradio/issues/4278
+    # The above issue was fixed for GR3.9 without a backporting patch.
     #
     # NOTE: qradiolink needs libcodec2 to be detected in
     # order to build, see https://github.com/qradiolink/qradiolink/issues/67
diff --git a/nixpkgs/pkgs/applications/radio/gnuradio/default.nix b/nixpkgs/pkgs/applications/radio/gnuradio/default.nix
index 528ea1264538..c62b031d8133 100644
--- a/nixpkgs/pkgs/applications/radio/gnuradio/default.nix
+++ b/nixpkgs/pkgs/applications/radio/gnuradio/default.nix
@@ -22,6 +22,7 @@
 , uhd
 , SDL
 , gsl
+, soapysdr
 , libsodium
 , libsndfile
 , libunwind
@@ -44,14 +45,14 @@
 , pname ? "gnuradio"
 , versionAttr ? {
   major = "3.9";
-  minor = "1";
+  minor = "2";
   patch = "0";
 }
 , fetchSubmodules ? false
 }:
 
 let
-  sourceSha256 = "0zydmrr3gkaqiv4jv8f42awrfzs177bqb349q34rnr6j3d32z2vp";
+  sourceSha256 = "01wyqazrpphmb0fl69j93k0w4vm4d1l4177m1fyg7qx8hzia0aaq";
   featuresInfo = {
     # Needed always
     basic = {
@@ -205,6 +206,12 @@ let
     gr-network = {
       cmakeEnableFlag = "GR_NETWORK";
     };
+    gr-soapy = {
+      cmakeEnableFlag = "GR_SOAPY";
+      runtime = [
+        soapysdr
+      ];
+    };
   };
   shared = (import ./shared.nix {
     inherit
@@ -233,6 +240,7 @@ stdenv.mkDerivation rec {
     src
     nativeBuildInputs
     buildInputs
+    cmakeFlags
     disallowedReferences
     stripDebugList
     doCheck
@@ -248,25 +256,9 @@ stdenv.mkDerivation rec {
   } // lib.optionalAttrs (hasFeature "gr-qtgui" features) {
     inherit (libsForQt5) qwt;
   };
-  cmakeFlags = shared.cmakeFlags
-    # From some reason, if these are not set, libcodec2 and gsm are not
-    # detected properly.
-    ++ lib.optionals (hasFeature "gr-vocoder" features) [
-      "-DLIBCODEC2_FOUND=TRUE"
-      "-DLIBCODEC2_LIBRARIES=${codec2}/lib/libcodec2.so"
-      "-DLIBCODEC2_INCLUDE_DIRS=${codec2}/include"
-      "-DLIBCODEC2_HAS_FREEDV_API=ON"
-      "-DLIBGSM_FOUND=TRUE"
-      "-DLIBGSM_LIBRARIES=${gsm}/lib/libgsm.so"
-      "-DLIBGSM_INCLUDE_DIRS=${gsm}/include/gsm"
-    ]
-  ;
 
   postInstall = shared.postInstall
     # This is the only python reference worth removing, if needed.
-    # Even if python support is enabled, and we don't care about this
-    # reference, pybind's path is not properly set. See:
-    # https://github.com/gnuradio/gnuradio/issues/4380
     + lib.optionalString (!hasFeature "python-support" features) ''
       ${removeReferencesTo}/bin/remove-references-to -t ${python} $out/lib/cmake/gnuradio/GnuradioConfig.cmake
       ${removeReferencesTo}/bin/remove-references-to -t ${python} $(readlink -f $out/lib/libgnuradio-runtime.so)
diff --git a/nixpkgs/pkgs/applications/radio/soapyairspy/default.nix b/nixpkgs/pkgs/applications/radio/soapyairspy/default.nix
index 0541c3abf914..7e8a09d67b98 100644
--- a/nixpkgs/pkgs/applications/radio/soapyairspy/default.nix
+++ b/nixpkgs/pkgs/applications/radio/soapyairspy/default.nix
@@ -2,18 +2,15 @@
 , airspy, soapysdr
 } :
 
-let
-  version = "0.1.2";
-
-in stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "soapyairspy";
-  inherit version;
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "pothosware";
     repo = "SoapyAirspy";
     rev = "soapy-airspy-${version}";
-    sha256 = "061r77vs6ywxbxfif12y6v5xkz6gcvbz9k060q12vmdh6sisdwk2";
+    sha256 = "0g23yybnmq0pg2m8m7dbhif8lw0hdsmnnjym93fdyxfk5iln7fsc";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/applications/radio/soapysdr/default.nix b/nixpkgs/pkgs/applications/radio/soapysdr/default.nix
index ea8c8fad1068..ccd4b8799cef 100644
--- a/nixpkgs/pkgs/applications/radio/soapysdr/default.nix
+++ b/nixpkgs/pkgs/applications/radio/soapysdr/default.nix
@@ -8,7 +8,7 @@
 
 let
 
-  version = "0.7.2";
+  version = "0.8.0";
   modulesVersion = with lib; versions.major version + "." + versions.minor version;
   modulesPath = "lib/SoapySDR/modules" + modulesVersion;
   extraPackagesSearchPath = lib.makeSearchPath modulesPath extraPackages;
@@ -21,7 +21,7 @@ in stdenv.mkDerivation {
     owner = "pothosware";
     repo = "SoapySDR";
     rev = "soapy-sdr-${version}";
-    sha256 = "102wnpjxrwba20pzdh1vvx0yg1h8vqd8z914idxflg9p14r6v5am";
+    sha256 = "1dy25zxk7wmg7ik82dx7h3bbbynvalbz1dxsl7kgm3374yxhnixv";
   };
 
   nativeBuildInputs = [ cmake makeWrapper pkg-config ];
diff --git a/nixpkgs/pkgs/applications/science/astronomy/phd2/default.nix b/nixpkgs/pkgs/applications/science/astronomy/phd2/default.nix
index 0e0ad06bbe9f..543e6820a763 100644
--- a/nixpkgs/pkgs/applications/science/astronomy/phd2/default.nix
+++ b/nixpkgs/pkgs/applications/science/astronomy/phd2/default.nix
@@ -1,19 +1,32 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, gtk3, wxGTK30-gtk3,
-  curl, gettext, glib, indi-full, libnova, wrapGAppsHook }:
+{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, gtk3, wxGTK30-gtk3
+, curl, gettext, glib, indi-full, libnova, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "phd2";
-  version = "2.6.9dev1";
+  version = "2.6.10";
 
   src = fetchFromGitHub {
     owner = "OpenPHDGuiding";
     repo = "phd2";
     rev = "v${version}";
-    sha256 = "1ih7m9lilh12xbhmwm9kkicaqy72mi3firl6df7m5x38n2zj3zm4";
+    sha256 = "sha256-2ZiPjhlguWXFcC53xG1aqAode7twtoHWszFUMQkK5xU=";
   };
 
-  nativeBuildInputs = [ cmake pkg-config wrapGAppsHook ];
-  buildInputs = [ gtk3 wxGTK30-gtk3 curl gettext glib indi-full libnova ];
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    gtk3
+    wxGTK30-gtk3
+    curl
+    gettext
+    glib
+    indi-full
+    libnova
+  ];
 
   cmakeFlags = [
     "-DOPENSOURCE_ONLY=1"
@@ -27,8 +40,9 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://openphdguiding.org/";
     description = "Telescope auto-guidance application";
+    changelog = "https://github.com/OpenPHDGuiding/phd2/releases/tag/v${version}";
     license = licenses.bsd3;
     maintainers = with maintainers; [ hjones2199 ];
-    platforms = [ "x86_64-linux" ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/chemistry/gwyddion/default.nix b/nixpkgs/pkgs/applications/science/chemistry/gwyddion/default.nix
index ca80262eb76a..43007cb1f0f5 100644
--- a/nixpkgs/pkgs/applications/science/chemistry/gwyddion/default.nix
+++ b/nixpkgs/pkgs/applications/science/chemistry/gwyddion/default.nix
@@ -35,10 +35,10 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gwyddion";
-   version = "2.58";
+   version = "2.59";
   src = fetchurl {
     url = "mirror://sourceforge/gwyddion/gwyddion-${version}.tar.xz";
-    sha256 = "sha256-0xNnzYkuW3nEsO2o+0WEA+Z71XWoq6FYXm342OWO9Sw=";
+    sha256 = "sha256-APMOJeZt/zp8JvXghKZ5lQFRKWO/4TVDORok8qAgEBk=";
   };
 
   nativeBuildInputs = [ pkg-config file ];
diff --git a/nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix b/nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix
index c645693e19a1..5d2158843ede 100644
--- a/nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix
+++ b/nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix
@@ -17,14 +17,14 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  version = "14.31.41";
+  version = "14.31.44";
   pname = "jmol";
 
   src = let
     baseVersion = "${lib.versions.major version}.${lib.versions.minor version}";
   in fetchurl {
     url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${version}/Jmol-${version}-binary.tar.gz";
-    sha256 = "sha256-dI1WkQgFikxaIjjqVKZcsGvc3QIu/NMIcRW3N8PGbkY=";
+    sha256 = "sha256-MHfqoQzUEL7nje7Y/hbaA8iktxfN7464TJXum5B6OCc=";
   };
 
   patchPhase = ''
diff --git a/nixpkgs/pkgs/applications/science/electronics/gtkwave/default.nix b/nixpkgs/pkgs/applications/science/electronics/gtkwave/default.nix
index af5441f07e21..b539df7592a5 100644
--- a/nixpkgs/pkgs/applications/science/electronics/gtkwave/default.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/gtkwave/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gtkwave";
-  version = "3.3.109";
+  version = "3.3.110";
 
   src = fetchurl {
     url    = "mirror://sourceforge/gtkwave/${pname}-gtk3-${version}.tar.gz";
-    sha256 = "sha256-NUYezNm4tEcMqnirmo8U7Ky8ye/2MDPY3OWAk+eG3rc=";
+    sha256 = "sha256-Ku25IVa8ot3SWxODeMrOaxBY5X022TnvD3l2kAa3Wao=";
   };
 
   nativeBuildInputs = [ pkg-config wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/applications/science/logic/coq/default.nix b/nixpkgs/pkgs/applications/science/logic/coq/default.nix
index 9d6212fef112..b5c66289c9d3 100644
--- a/nixpkgs/pkgs/applications/science/logic/coq/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/coq/default.nix
@@ -129,14 +129,15 @@ self = stdenv.mkDerivation {
     ++ optionals buildIde
       (if versionAtLeast "8.10"
        then [ ocamlPackages.lablgtk3-sourceview3 glib gnome.adwaita-icon-theme wrapGAppsHook ]
-       else [ ocamlPackages.lablgtk ]);
+       else [ ocamlPackages.lablgtk ])
+    ++ optional (versionAtLeast "8.14") ocamlPackages.dune_2
+  ;
 
   postPatch = ''
     UNAME=$(type -tp uname)
     RM=$(type -tp rm)
-    substituteInPlace configure --replace "/bin/uname" "$UNAME"
     substituteInPlace tools/beautify-archive --replace "/bin/rm" "$RM"
-    substituteInPlace configure.ml --replace '"md5 -q"' '"md5sum"'
+    ${if !versionAtLeast "8.7" then "substituteInPlace configure.ml --replace \"md5 -q\" \"md5sum\"" else ""}
     ${csdpPatch}
   '';
 
diff --git a/nixpkgs/pkgs/applications/science/logic/elan/default.nix b/nixpkgs/pkgs/applications/science/logic/elan/default.nix
index d20be86daf0b..a49262e7cb65 100644
--- a/nixpkgs/pkgs/applications/science/logic/elan/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/elan/default.nix
@@ -7,16 +7,16 @@ in
 
 rustPlatform.buildRustPackage rec {
   pname = "elan";
-  version = "1.0.2";
+  version = "1.0.6";
 
   src = fetchFromGitHub {
     owner = "leanprover";
     repo = "elan";
     rev = "v${version}";
-    sha256 = "sha256-nK4wvxK5Ne1+4kaMts6pIr5FvXBgXJsGdn68gGEZUdk=";
+    sha256 = "sha256-Ns8vSS/PDlfopigW4Nz3fdR9PCMG8gDoL36+/s0Qkeo=";
   };
 
-  cargoSha256 = "sha256-ptSbpq1ePNWmdBGfKtqFGfkdimDjU0YEo4F8VPtQMt4=";
+  cargoSha256 = "sha256-NDtldiVo4SyE88f6ntKn1WJDFdvwN5Ps4DxQH15iNZE=";
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
 
diff --git a/nixpkgs/pkgs/applications/science/logic/hol/default.nix b/nixpkgs/pkgs/applications/science/logic/hol/default.nix
index 569c455e6532..8427249c4ce9 100644
--- a/nixpkgs/pkgs/applications/science/logic/hol/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/hol/default.nix
@@ -81,7 +81,7 @@ stdenv.mkDerivation {
     '';
     homepage = "http://hol.sourceforge.net/";
     license = licenses.bsd3;
-    platforms = [ "x86_64-linux" ];
+    platforms = platforms.unix;
     maintainers = with maintainers; [ mudri ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/logic/lean/default.nix b/nixpkgs/pkgs/applications/science/logic/lean/default.nix
index 214f4e218fd3..ea2cd356e315 100644
--- a/nixpkgs/pkgs/applications/science/logic/lean/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/lean/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "lean";
-  version = "3.30.0";
+  version = "3.31.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    = "a5822ea47ebc52eec6323d8f1b60f6ec025daf99";
-    sha256 = "sha256-gJhbkl19iilNyfCt2TfPmghYA3yCjg6kS+yk/x/k14Y=";
+    rev    = "333783350cd3fe38f25fed1da7d6a433d8f85b77";
+    sha256 = "sha256-N8Ju7pSGssvt84/0e1o6G/p7fWM1c0Mzw+ftL1/++J4=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/applications/science/logic/tlaplus/toolbox.nix b/nixpkgs/pkgs/applications/science/logic/tlaplus/toolbox.nix
index defe218b119e..ef2d97ef6bfc 100644
--- a/nixpkgs/pkgs/applications/science/logic/tlaplus/toolbox.nix
+++ b/nixpkgs/pkgs/applications/science/logic/tlaplus/toolbox.nix
@@ -1,5 +1,5 @@
 { lib, fetchzip, makeWrapper, makeDesktopItem, stdenv
-, gtk3, libXtst, glib, zlib
+, gtk3, libXtst, glib, zlib, wrapGAppsHook
 }:
 
 let
@@ -25,7 +25,11 @@ in stdenv.mkDerivation rec {
     sha256 = "02a2y2mkfab5cczw8g604m61h4xr0apir49zbd1aq6mmgcgngw80";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ gtk3 ];
+
+  nativeBuildInputs = [ makeWrapper wrapGAppsHook ];
+
+  dontWrapGApps = true;
 
   phases = [ "installPhase" ];
 
@@ -36,6 +40,9 @@ in stdenv.mkDerivation rec {
     cp -r "$src" "$out/toolbox"
     chmod -R +w "$out/toolbox"
 
+    fixupPhase
+    gappsWrapperArgsHook
+
     patchelf \
       --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
       "$out/toolbox/toolbox"
@@ -52,7 +59,8 @@ in stdenv.mkDerivation rec {
     makeWrapper $out/toolbox/toolbox $out/bin/tla-toolbox \
       --run "set -x; cd $out/toolbox" \
       --add-flags "-data ~/.tla-toolbox" \
-      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ gtk3 libXtst glib zlib ]}"
+      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ gtk3 libXtst glib zlib ]}"  \
+      "''${gappsWrapperArgs[@]}"
 
     echo -e "\nCreating TLA Toolbox icons..."
     pushd "$src"
diff --git a/nixpkgs/pkgs/applications/science/math/caffe/default.nix b/nixpkgs/pkgs/applications/science/math/caffe/default.nix
index 565c6a17672d..08bf84be7c89 100644
--- a/nixpkgs/pkgs/applications/science/math/caffe/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/caffe/default.nix
@@ -76,7 +76,7 @@ stdenv.mkDerivation rec {
     let pp = python.pkgs; in ([
       pp.numpy pp.scipy pp.scikitimage pp.h5py
       pp.matplotlib pp.ipython pp.networkx pp.nose
-      pp.pandas pp.dateutil pp.protobuf pp.gflags
+      pp.pandas pp.python-dateutil pp.protobuf pp.gflags
       pp.pyyaml pp.pillow pp.six
     ] ++ lib.optional leveldbSupport pp.leveldb)
   );
diff --git a/nixpkgs/pkgs/applications/science/math/glsurf/default.nix b/nixpkgs/pkgs/applications/science/math/glsurf/default.nix
index 208bb95f930e..58b2a617bd63 100644
--- a/nixpkgs/pkgs/applications/science/math/glsurf/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/glsurf/default.nix
@@ -1,7 +1,12 @@
-{ lib, stdenv, fetchurl, ocamlPackages, libGLU, libGL, freeglut, giflib
-, libmysqlclient, mpfr, gmp, libtiff, libjpeg, libpng
+{ lib, stdenv, fetchurl, ocamlPackages, makeWrapper
+, libGLU, libGL, freeglut, mpfr, gmp
+, pkgsHostTarget
 }:
 
+let
+  inherit (pkgsHostTarget.targetPackages.stdenv) cc;
+in
+
 stdenv.mkDerivation {
   name = "glsurf-3.3.1";
 
@@ -10,17 +15,32 @@ stdenv.mkDerivation {
     sha256 = "0w8xxfnw2snflz8wdr2ca9f5g91w5vbyp1hwlx1v7vg83d4bwqs7";
   };
 
-  buildInputs = [ freeglut libGLU libGL libmysqlclient mpfr giflib gmp
-    libtiff libjpeg libpng ]
-  ++ (with ocamlPackages; [
-    ocaml findlib ocaml_mysql lablgl camlimages_4_1_2 mlgmpidl
+  nativeBuildInputs = [
+    makeWrapper
+  ] ++ (with ocamlPackages; [
+    ocaml findlib
+  ]);
+
+  buildInputs = [
+    freeglut libGL libGLU mpfr gmp
+  ] ++ (with ocamlPackages; [
+    camlp4 lablgl camlimages_4_2_4
   ]);
 
+  postPatch = ''
+    for f in callbacks*/Makefile src/Makefile; do
+      substituteInPlace "$f" --replace "+camlp4" \
+        "${ocamlPackages.camlp4}/lib/ocaml/${ocamlPackages.ocaml.version}/site-lib/camlp4"
+    done
+  '';
+
   installPhase = ''
     mkdir -p $out/bin $out/share/doc/glsurf
     cp ./src/glsurf.opt $out/bin/glsurf
     cp ./doc/doc.pdf $out/share/doc/glsurf
     cp -r ./examples $out/share/doc/glsurf
+
+    wrapProgram "$out/bin/glsurf" --set CC "${cc}/bin/${cc.targetPrefix}cc"
   '';
 
   meta = {
diff --git a/nixpkgs/pkgs/applications/science/math/qalculate-gtk/default.nix b/nixpkgs/pkgs/applications/science/math/qalculate-gtk/default.nix
index 56b6df94e8fb..7807ae613e8c 100644
--- a/nixpkgs/pkgs/applications/science/math/qalculate-gtk/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/qalculate-gtk/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qalculate-gtk";
-  version = "3.18.0";
+  version = "3.19.0";
 
   src = fetchFromGitHub {
     owner = "qalculate";
     repo = "qalculate-gtk";
     rev = "v${version}";
-    sha256 = "sha256-hE0di7B6dCnMmMBLgFkb6vPS4hS/7zD6BbviIucrn1I=";
+    sha256 = "1nrx7gp6f1yalbdda1gb97azhbr4xclq2xf08vvbvsk8jfd6fd2v";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/nixpkgs/pkgs/applications/science/math/sage/patches/sphinx-3.5-code-output.patch b/nixpkgs/pkgs/applications/science/math/sage/patches/sphinx-3.5-code-output.patch
deleted file mode 100644
index f17897d4c89f..000000000000
--- a/nixpkgs/pkgs/applications/science/math/sage/patches/sphinx-3.5-code-output.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/sage/misc/sagedoc.py b/src/sage/misc/sagedoc.py
-index 6bad826a88..f4d7b8651c 100644
---- a/src/sage/misc/sagedoc.py
-+++ b/src/sage/misc/sagedoc.py
-@@ -24,7 +24,7 @@ see :trac:`12849`::
-     ....:     for line in fobj:
-     ....:         if "#sage.symbolic.expression.Expression.numerical_approx" in line:
-     ....:             print(line)
--    <code class="sig-name descname">numerical_approx</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">prec</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">digits</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">algorithm</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span>...
-+    <code class="sig-name descname"><span class="pre">numerical_approx</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prec</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">digits</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">algorithm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span>...
- 
- Check that sphinx is not imported at Sage start-up::
- 
diff --git a/nixpkgs/pkgs/applications/science/math/sage/sage-src.nix b/nixpkgs/pkgs/applications/science/math/sage/sage-src.nix
index 57234c660a5a..218ab920a872 100644
--- a/nixpkgs/pkgs/applications/science/math/sage/sage-src.nix
+++ b/nixpkgs/pkgs/applications/science/math/sage/sage-src.nix
@@ -16,7 +16,12 @@ let
   fetchSageDiff = { base, name, rev, sha256, ...}@args: (
     fetchpatch ({
       inherit name sha256;
-      url = "https://git.sagemath.org/sage.git/patch?id2=${base}&id=${rev}";
+
+      # We used to use
+      # "https://git.sagemath.org/sage.git/patch?id2=${base}&id=${rev}"
+      # but the former way does not squash multiple patches together.
+      url = "https://github.com/sagemath/sage/compare/${base}...${rev}.diff";
+
       # We don't care about sage's own build system (which builds all its dependencies).
       # Exclude build system changes to avoid conflicts.
       excludes = [ "build/*" ];
@@ -79,13 +84,6 @@ stdenv.mkDerivation rec {
     # ignore a deprecation warning for usage of `cmp` in the attrs library in the doctests
     ./patches/ignore-cmp-deprecation.patch
 
-    # sphinx 3.5 pretty-prints code slightly differently than sphinx
-    # 3.1--3.3. a similar patch is available at the sphinx 4 ticket
-    # (https://trac.sagemath.org/ticket/31696), but sphinx 3.5 uses
-    # <code> tags while sphinx 4 uses <span> tags so we cannot just
-    # import the patch from trac.
-    ./patches/sphinx-3.5-code-output.patch
-
     # remove use of matplotlib function deprecated in 3.4
     # https://trac.sagemath.org/ticket/31827
     (fetchSageDiff {
@@ -95,16 +93,47 @@ stdenv.mkDerivation rec {
       sha256 = "sha256-SXcUGBMOoE9HpuBzgKC3P6cUmM5MiktXbe/7dVdrfWo=";
     })
 
-    # https://trac.sagemath.org/ticket/30801. this patch has
-    # positive_review but has not been merged upstream yet, so we
-    # don't use fetchSageDiff because it returns a file that contains
-    # each commit as a separate patch instead of a single diff, and
-    # some commits from the pari update branch are already in 9.3.rc5
-    # (auto-resolvable merge conflicts).
-    (fetchpatch {
+    # pari 2.13 update
+    # https://trac.sagemath.org/ticket/30801
+    #
+    # the last commit in that ticket is
+    # c78b1470fccd915e2fa93f95f2fefba6220fb1f7, but commits after
+    # 10a4531721d2700fd717e2b3a1364508ffd971c3 only deal with 32-bit
+    # and post-26635 breakage, none of which is relevant to us. since
+    # there are post-9.4.beta0 rebases after that, we just skip later
+    # commits.
+    (fetchSageDiff {
+      base = "9.3";
       name = "pari-2.13.1.patch";
-      url = "https://github.com/sagemath/sagetrac-mirror/compare/d6c5cd9be78cc448ee4c54bac93385b1244a234c...10a4531721d2700fd717e2b3a1364508ffd971c3.diff";
-      sha256 = "sha256-zMjRMEReoiTvmt+vvV0Ij1jtyLSLwSXBEVXqgvmq1D4=";
+      rev = "10a4531721d2700fd717e2b3a1364508ffd971c3";
+      sha256 = "sha256-gffWKK9CMREaNOb5zb63iZUgON4FvsPrMQNqe+5ZU9E=";
+    })
+
+    # sympy 1.8 update
+    # https://trac.sagemath.org/ticket/31647
+    (fetchSageDiff {
+      base = "9.4.beta0";
+      name = "sympy-1.8.patch";
+      rev = "fa864b36e15696450c36d54215b1e68183b29d25";
+      sha256 = "sha256-fj/9QEZlVF0fw9NpWflkTuBSKpGjCE6b96ECBgdn77o=";
+    })
+
+    # sphinx 4 update
+    # https://trac.sagemath.org/ticket/31696
+    (fetchSageDiff {
+      base = "9.4.beta3";
+      name = "sphinx-4.patch";
+      rev = "bc84af8c795b7da433d2000afc3626ee65ba28b8";
+      sha256 = "sha256-5Kvs9jarC8xRIU1rdmvIWxQLC25ehiTLJpg5skh8WNM=";
+    })
+
+    # eclib 20210625 update
+    # https://trac.sagemath.org/ticket/31443
+    (fetchSageDiff {
+      base = "9.4.beta3";
+      name = "eclib-20210625.patch";
+      rev = "789550ca04c94acfb1e803251538996a34962038";
+      sha256 = "sha256-VlyEn5hg3joG8t/GwiRfq9TzJ54AoHxLolsNQ3shc2c=";
     })
   ];
 
diff --git a/nixpkgs/pkgs/applications/science/misc/root/default.nix b/nixpkgs/pkgs/applications/science/misc/root/default.nix
index b3d0e96a5648..a97be6ec76fd 100644
--- a/nixpkgs/pkgs/applications/science/misc/root/default.nix
+++ b/nixpkgs/pkgs/applications/science/misc/root/default.nix
@@ -2,7 +2,7 @@
 , libX11, libXpm, libXft, libXext, libGLU, libGL, libxml2, lz4, xz, pcre, nlohmann_json
 , pkg-config, python, xxHash, zlib, zstd
 , libAfterImage, giflib, libjpeg, libtiff, libpng
-, Cocoa, OpenGL, noSplash ? false }:
+, Cocoa, CoreSymbolication, OpenGL, noSplash ? false }:
 
 stdenv.mkDerivation rec {
   pname = "root";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper cmake pkg-config git ];
   buildInputs = [ ftgl gl2ps glew pcre zlib zstd libxml2 lz4 xz gsl xxHash libAfterImage giflib libjpeg libtiff libpng nlohmann_json python.pkgs.numpy ]
     ++ lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ]
-    ++ lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ]
+    ++ lib.optionals (stdenv.isDarwin) [ Cocoa CoreSymbolication OpenGL ]
     ;
 
   patches = [
@@ -38,6 +38,10 @@ stdenv.mkDerivation rec {
     patchShebangs build/unix/
   '' + lib.optionalString noSplash ''
     substituteInPlace rootx/src/rootx.cxx --replace "gNoLogo = false" "gNoLogo = true"
+  '' + lib.optionalString stdenv.isDarwin ''
+    # Eliminate impure reference to /System/Library/PrivateFrameworks
+    substituteInPlace core/CMakeLists.txt \
+      --replace "-F/System/Library/PrivateFrameworks" ""
   '';
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/applications/science/networking/sumo/default.nix b/nixpkgs/pkgs/applications/science/networking/sumo/default.nix
index af252da04f81..9cdf576b9c68 100644
--- a/nixpkgs/pkgs/applications/science/networking/sumo/default.nix
+++ b/nixpkgs/pkgs/applications/science/networking/sumo/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sumo";
-  version = "1.8.0";
+  version = "1.9.2";
 
   src = fetchFromGitHub {
     owner = "eclipse";
     repo = "sumo";
     rev = "v${lib.replaceStrings ["."] ["_"] version}";
-    sha256 = "1w9im1zz8xnkdwmv4v11kn1xcqm889268g1fw4y2s9f6shi41mxx";
+    sha256 = "0zpd331vy1kfi4hfiszv3m8wl4m0wdfr3zzza200kkaakw5hjxhs";
     fetchSubmodules = true;
   };
 
@@ -33,7 +33,6 @@ stdenv.mkDerivation rec {
     jdk
     libGL
     libGLU
-    libX11
     libjpeg
     libpng
     libtiff
@@ -44,6 +43,7 @@ stdenv.mkDerivation rec {
     zlib
     python3
   ] ++ (with xorg; [
+    libX11
     libXcursor
     libXext
     libXfixes
diff --git a/nixpkgs/pkgs/applications/science/robotics/emuflight-configurator/default.nix b/nixpkgs/pkgs/applications/science/robotics/emuflight-configurator/default.nix
index 2b89a00eb4bd..ab94df9ef18f 100644
--- a/nixpkgs/pkgs/applications/science/robotics/emuflight-configurator/default.nix
+++ b/nixpkgs/pkgs/applications/science/robotics/emuflight-configurator/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "emuflight-configurator";
-  version = "0.3.5";
+  version = "0.3.6";
 
   src = fetchurl {
     url = "https://github.com/emuflight/EmuConfigurator/releases/download/${version}/emuflight-configurator_${version}_linux64.zip";
-    sha256 = "d55bdc52cf93d58c728ccb296ef912a5fc0f42c57ed95f3ded5f85d1c10838c4";
+    sha256 = "sha256-egSUd/+RNo0vr2EJibgk9nNnql5sHC11gctUMK+DzW0=";
   };
 
   nativeBuildInputs = [ wrapGAppsHook unzip copyDesktopItems ];
diff --git a/nixpkgs/pkgs/applications/system/glances/default.nix b/nixpkgs/pkgs/applications/system/glances/default.nix
index c142ba12bc27..0fc85cea05c1 100644
--- a/nixpkgs/pkgs/applications/system/glances/default.nix
+++ b/nixpkgs/pkgs/applications/system/glances/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonApplication rec {
   pname = "glances";
-  version = "3.1.7";
+  version = "3.2.0";
   disabled = isPyPy;
 
   src = fetchFromGitHub {
     owner = "nicolargo";
     repo = "glances";
     rev = "v${version}";
-    sha256 = "sha256-82ZD32dqRYGbGM/uyaJ5VqVZbhDZthiEcTihkV43JOU=";
+    sha256 = "126xpx8i85giy3hkhqh0qcln9i1qj5bfciaqh9486rkl54xm8zsr";
   };
 
   # Some tests fail in the sandbox (they e.g. require access to /sys/class/power_supply):
@@ -48,7 +48,7 @@ buildPythonApplication rec {
   meta = with lib; {
     homepage = "https://nicolargo.github.io/glances/";
     description = "Cross-platform curses-based monitoring tool";
-    changelog = "https://github.com/nicolargo/glances/releases/tag/v${version}";
+    changelog = "https://github.com/nicolargo/glances/blob/v${version}/NEWS.rst";
     license = licenses.lgpl3Only;
     maintainers = with maintainers; [ jonringer primeos koral ];
   };
diff --git a/nixpkgs/pkgs/applications/system/qjournalctl/default.nix b/nixpkgs/pkgs/applications/system/qjournalctl/default.nix
new file mode 100644
index 000000000000..31c256f46c8e
--- /dev/null
+++ b/nixpkgs/pkgs/applications/system/qjournalctl/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, qtbase
+, qmake
+, pkg-config
+, libssh
+, wrapQtAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "qjournalctl";
+  version = "0.6.3";
+
+  src = fetchFromGitHub {
+    owner = "pentix";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0j27cmfq29mwrbjfrrwi6m1grcamhbfhk47xzlfsx5wr2q9m6qkz";
+  };
+
+  postPatch = ''
+    substituteInPlace qjournalctl.pro --replace /usr/ $out/
+  '';
+
+  nativeBuildInputs = [
+    qmake
+    pkg-config
+    wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    libssh
+    qtbase
+  ];
+
+  meta = with lib; {
+    description = "Qt-based graphical user interface for systemd's journalctl command";
+    homepage = "https://github.com/pentix/qjournalctl";
+    license = licenses.gpl3Only;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ dtzWill srgom romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/foot/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/foot/default.nix
index f69625e16cd0..4f8d6832eddd 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/foot/default.nix
+++ b/nixpkgs/pkgs/applications/terminal-emulators/foot/default.nix
@@ -26,7 +26,7 @@
 }:
 
 let
-  version = "1.8.0";
+  version = "1.8.1";
 
   # build stimuli file for PGO build and the script to generate it
   # independently of the foot's build, so we can cache the result
@@ -94,7 +94,7 @@ stdenv.mkDerivation rec {
 
   src = fetchzip {
     url = "https://codeberg.org/dnkl/${pname}/archive/${version}.tar.gz";
-    sha256 = "07irlhkvziv51cp5zn1yz8ljfnrnfjcykv5pgfwmpslw3nl5szxv";
+    sha256 = "0yrz7n0wls8g8w7ja934icwxmng3sxh70x87qmzc9c9cb1wyd989";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/kitty/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/kitty/default.nix
index e101d5d3a8cd..441c9904c071 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/kitty/default.nix
+++ b/nixpkgs/pkgs/applications/terminal-emulators/kitty/default.nix
@@ -21,14 +21,14 @@
 with python3Packages;
 buildPythonApplication rec {
   pname = "kitty";
-  version = "0.21.1";
+  version = "0.21.2";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "kovidgoyal";
     repo = "kitty";
     rev = "v${version}";
-    sha256 = "sha256-/+OSVjC4++A4kaxEfI2kIgjXxL67lfoXCdH2PykLWxA=";
+    sha256 = "0y0mg8rr18mn0wzym7v48x6kl0ixd5q387kr5jhbdln55ph2jk9d";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/bit/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/bit/default.nix
index cce37df357b8..c3524417829e 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/bit/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/bit/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "bit";
-  version = "1.1.1";
+  version = "1.1.2";
 
   src = fetchFromGitHub {
     owner = "chriswalz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-85GEx9y8r9Fjgfcwh1Bi8WDqBm6KF7uidutlF77my60=";
+    sha256 = "sha256-18R0JGbG5QBDghF4SyhXaKe9UY5UzF7Ap0Y061Z1SZ8=";
   };
 
   vendorSha256 = "sha256-3Y/B14xX5jaoL44rq9+Nn4niGViLPPXBa8WcJgTvYTA=";
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/delta/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/delta/default.nix
index 1afee7808978..72a27cf06016 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/delta/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/delta/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "delta";
-  version = "0.8.1";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "dandavison";
     repo = pname;
     rev = version;
-    sha256 = "sha256-YS4XuP5V7HLhz6PTwbz4mqVdzRDQvpwwL7oYeQW8Xcs=";
+    sha256 = "sha256-ztRwUf73ioygkgmE9t/EKJPerJJscJYG4YNeNdzXH1g=";
   };
 
-  cargoSha256 = "sha256-wX7x6SbbEWFBo5HeXTjb3r4IJ2leP4T0nVqf43Bl94k=";
+  cargoSha256 = "sha256-cCMHMGHfI0JyIL8+q2fyzamBGGHZx3mc2FpwTUa4S9Y=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/gh/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/gh/default.nix
index 707aefdf0c14..16f87df678ca 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/gh/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/gh/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "gh";
-  version = "1.11.0";
+  version = "1.12.1";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-rUGhKiTB5uVMbW0HdOEvubGkWh1ARUXCnGR7ezmsT3g=";
+    sha256 = "sha256-P9fbkJSXRYZdVD1EKWWs0FKs8aQdPqHWESUqjsGgyPU=";
   };
 
   vendorSha256 = "sha256-ndsjmY/UCFyegm8yP7BopYMh5eZ8/fftWfxW4r5los0=";
diff --git a/nixpkgs/pkgs/applications/version-management/git-repo/default.nix b/nixpkgs/pkgs/applications/version-management/git-repo/default.nix
index c84375cfece5..3623dbba6b8d 100644
--- a/nixpkgs/pkgs/applications/version-management/git-repo/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-repo/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "git-repo";
-  version = "2.15.4";
+  version = "2.16";
 
   src = fetchFromGitHub {
     owner = "android";
     repo = "tools_repo";
     rev = "v${version}";
-    sha256 = "1ayw2pz9falcsi528q63z3w7npzkk7y8z258danqh41j6q9871js";
+    sha256 = "sha256-F36MuqgVkKM2RCIGEGJmL3/KpZy3eDRZ7WWUE15mTfU=";
   };
 
   # Fix 'NameError: name 'ssl' is not defined'
diff --git a/nixpkgs/pkgs/applications/version-management/gitea/default.nix b/nixpkgs/pkgs/applications/version-management/gitea/default.nix
index 96f3af51620b..258e81acedfc 100644
--- a/nixpkgs/pkgs/applications/version-management/gitea/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitea/default.nix
@@ -16,12 +16,12 @@ with lib;
 
 buildGoPackage rec {
   pname = "gitea";
-  version = "1.14.3";
+  version = "1.14.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-ieQxqZO84sYBcCzWYn40tRGLgSs2PpLlcNkI4vFq+wE=";
+    sha256 = "sha256-sl/Vml8QmwZEAd2PIYWQcP7s6NYeomGJQGKhRiddtoo=";
   };
 
   unpackPhase = ''
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/data.json b/nixpkgs/pkgs/applications/version-management/gitlab/data.json
index 87b5273853a5..bdc83b8e30b8 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/data.json
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/data.json
@@ -1,13 +1,13 @@
 {
-  "version": "14.0.1",
-  "repo_hash": "185jzzlnghws958y15q7mzc7y42sxxq26p5i7j92bky9nkc1sa81",
+  "version": "14.0.2",
+  "repo_hash": "1wnlkbjy7hm5lq6qc12dncmz321nhcnm8wvaz0ni1v5xpp3hv286",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v14.0.1-ee",
+  "rev": "v14.0.2-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "14.0.1",
+    "GITALY_SERVER_VERSION": "14.0.2",
     "GITLAB_PAGES_VERSION": "1.40.0",
     "GITLAB_SHELL_VERSION": "13.19.0",
-    "GITLAB_WORKHORSE_VERSION": "14.0.1"
+    "GITLAB_WORKHORSE_VERSION": "14.0.2"
   }
 }
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/default.nix b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/default.nix
index 4928fae80d9f..5aff7a34365b 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -21,14 +21,14 @@ let
       };
   };
 in buildGoModule rec {
-  version = "14.0.1";
+  version = "14.0.2";
   pname = "gitaly";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitaly";
     rev = "v${version}";
-    sha256 = "sha256-x9QTuEPLtiPJqk1UVwrlYvULIQ93TERSfslO2LB55cY=";
+    sha256 = "sha256-0mLGtvRHgMN3TtH/g4XLDubwZvtB0xr2U30fufj//KY=";
   };
 
   vendorSha256 = "sha256-U962bMmXNnenCYkSdk0Uy7Bz+b9JGU5rJHfblZoyC/I=";
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index e9058778ceed..94c14a739d38 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -5,7 +5,7 @@ in
 buildGoModule rec {
   pname = "gitlab-workhorse";
 
-  version = "14.0.1";
+  version = "14.0.2";
 
   src = fetchFromGitLab {
     owner = data.owner;
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile b/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
index c7ae514f6377..03b275e11d2e 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
@@ -157,7 +157,7 @@ gem 'github-markup', '~> 1.7.0', require: 'github/markup'
 gem 'commonmarker', '~> 0.21'
 gem 'kramdown', '~> 2.3.1'
 gem 'RedCloth', '~> 4.3.2'
-gem 'rdoc', '~> 6.1.2'
+gem 'gitlab-rdoc', '~> 6.3.2', require: 'rdoc' # We need this fork until rdoc releases a new version. See https://gitlab.com/gitlab-org/gitlab/-/issues/334695
 gem 'org-ruby', '~> 0.9.12'
 gem 'creole', '~> 0.5.0'
 gem 'wikicloth', '0.8.1'
@@ -168,7 +168,7 @@ gem 'asciidoctor-kroki', '~> 0.4.0', require: false
 gem 'rouge', '~> 3.26.0'
 gem 'truncato', '~> 0.7.11'
 gem 'bootstrap_form', '~> 4.2.0'
-gem 'nokogiri', '~> 1.11.1'
+gem 'nokogiri', '~> 1.11.4'
 gem 'escape_utils', '~> 1.1'
 
 # Calendar rendering
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock b/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
index bbdd48e437e0..55839138c3af 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
@@ -493,6 +493,7 @@ GEM
       openid_connect (~> 1.2)
     gitlab-pg_query (2.0.4)
       google-protobuf (>= 3.17.1)
+    gitlab-rdoc (6.3.2)
     gitlab-sidekiq-fetcher (0.5.6)
       sidekiq (~> 5)
     gitlab-styles (6.2.0)
@@ -792,7 +793,7 @@ GEM
     netrc (0.11.0)
     nio4r (2.5.4)
     no_proxy_fix (0.1.2)
-    nokogiri (1.11.3)
+    nokogiri (1.11.4)
       mini_portile2 (~> 2.5.0)
       racc (~> 1.4)
     nokogumbo (2.0.2)
@@ -1017,7 +1018,6 @@ GEM
       msgpack (>= 0.4.3)
       optimist (>= 3.0.0)
     rchardet (1.8.0)
-    rdoc (6.1.2)
     re2 (1.2.0)
     recaptcha (4.13.1)
       json
@@ -1490,6 +1490,7 @@ DEPENDENCIES
   gitlab-net-dns (~> 0.9.1)
   gitlab-omniauth-openid-connect (~> 0.4.0)
   gitlab-pg_query (~> 2.0.4)
+  gitlab-rdoc (~> 6.3.2)
   gitlab-sidekiq-fetcher (= 0.5.6)
   gitlab-styles (~> 6.2.0)
   gitlab_chronic_duration (~> 0.10.6.2)
@@ -1549,7 +1550,7 @@ DEPENDENCIES
   net-ldap (~> 0.16.3)
   net-ntp
   net-ssh (~> 6.0)
-  nokogiri (~> 1.11.1)
+  nokogiri (~> 1.11.4)
   oauth2 (~> 1.4)
   octokit (~> 4.15)
   ohai (~> 16.10)
@@ -1597,7 +1598,6 @@ DEPENDENCIES
   rainbow (~> 3.0)
   rblineprof (~> 0.3.6)
   rbtrace (~> 0.4)
-  rdoc (~> 6.1.2)
   re2 (~> 1.2.0)
   recaptcha (~> 4.11)
   redis (~> 4.0)
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix b/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
index 4814a6f2a1ff..215f1467fed9 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
@@ -2095,6 +2095,16 @@
     };
     version = "2.0.4";
   };
+  gitlab-rdoc = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04vdirkdj42as3rgj6qlgz5ly5vg45i9k184bmf5z556i3b1fyf9";
+      type = "gem";
+    };
+    version = "6.3.2";
+  };
   gitlab-sidekiq-fetcher = {
     dependencies = ["sidekiq"];
     groups = ["default"];
@@ -3396,10 +3406,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19d78mdg2lbz9jb4ph6nk783c9jbsdm8rnllwhga6pd53xffp6x0";
+      sha256 = "05rfzi8wksps5pgaavq1n1vkngsrjhqz8rcd1qdb52hnpg9q9p9b";
       type = "gem";
     };
-    version = "1.11.3";
+    version = "1.11.4";
   };
   nokogumbo = {
     dependencies = ["nokogiri"];
@@ -4306,16 +4316,6 @@
     };
     version = "1.8.0";
   };
-  rdoc = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0zh39dpsqlhhi4aba1sbrk504d88p38djk8cansjq0fwndq7w4zb";
-      type = "gem";
-    };
-    version = "6.1.2";
-  };
   re2 = {
     groups = ["default"];
     platforms = [];
diff --git a/nixpkgs/pkgs/applications/version-management/mercurial/4.9.nix b/nixpkgs/pkgs/applications/version-management/mercurial/4.9.nix
index 030a35212ec6..0a76f7df9704 100644
--- a/nixpkgs/pkgs/applications/version-management/mercurial/4.9.nix
+++ b/nixpkgs/pkgs/applications/version-management/mercurial/4.9.nix
@@ -1,21 +1,19 @@
 { lib, stdenv, fetchurl, python2Packages, makeWrapper
 , guiSupport ? false, tk ? null
 , ApplicationServices
-, mercurialSrc ? fetchurl rec {
-    meta.name = "mercurial-${meta.version}";
-    meta.version = "4.9.1";
-    url = "https://mercurial-scm.org/release/${meta.name}.tar.gz";
-    sha256 = "0iybbkd9add066729zg01kwz5hhc1s6lhp9rrnsmzq6ihyxj3p8v";
-  }
 }:
 
 let
   inherit (python2Packages) docutils hg-git dulwich python;
 
-in python2Packages.buildPythonApplication {
+in python2Packages.buildPythonApplication rec {
+  pname = "mercurial";
+  version = "4.9.1";
 
-  inherit (mercurialSrc.meta) name version;
-  src = mercurialSrc;
+  src = fetchurl {
+    url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
+    sha256 = "0iybbkd9add066729zg01kwz5hhc1s6lhp9rrnsmzq6ihyxj3p8v";
+  };
 
   format = "other";
 
@@ -59,7 +57,6 @@ in python2Packages.buildPythonApplication {
     '';
 
   meta = {
-    inherit (mercurialSrc.meta) version;
     description = "A fast, lightweight SCM system for very large distributed projects";
     homepage = "https://www.mercurial-scm.org";
     downloadPage = "https://www.mercurial-scm.org/release/";
@@ -69,4 +66,3 @@ in python2Packages.buildPythonApplication {
     platforms = lib.platforms.unix;
   };
 }
-
diff --git a/nixpkgs/pkgs/applications/version-management/mercurial/default.nix b/nixpkgs/pkgs/applications/version-management/mercurial/default.nix
index df58b2162fc1..3394d44a4be1 100644
--- a/nixpkgs/pkgs/applications/version-management/mercurial/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/mercurial/default.nix
@@ -1,95 +1,158 @@
-{ lib, stdenv, fetchurl, fetchpatch, python3Packages, makeWrapper, gettext
+{ lib, stdenv, fetchurl, fetchpatch, python3Packages, makeWrapper, gettext, installShellFiles
 , re2Support ? true
 , rustSupport ? stdenv.hostPlatform.isLinux, rustPlatform
-, guiSupport ? false, tk ? null
+, fullBuild ? false
+, gitSupport ? fullBuild
+, guiSupport ? fullBuild, tk
+, highlightSupport ? fullBuild
 , ApplicationServices
 }:
 
 let
-  inherit (python3Packages) docutils python fb-re2;
+  inherit (python3Packages) docutils python fb-re2 pygit2 pygments;
 
-in python3Packages.buildPythonApplication rec {
-  pname = "mercurial";
-  version = "5.8";
+  self = python3Packages.buildPythonApplication rec {
+    pname = "mercurial";
+    version = "5.8";
 
-  src = fetchurl {
-    url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
-    sha256 = "17rhlmmkqz5ll3k68jfzpcifg3nndbcbc2nx7kw8xn3qcj7nlpgw";
-  };
+    src = fetchurl {
+      url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
+      sha256 = "17rhlmmkqz5ll3k68jfzpcifg3nndbcbc2nx7kw8xn3qcj7nlpgw";
+    };
+
+    patches = [
+      # https://phab.mercurial-scm.org/D10638, needed for below patch to apply
+      (fetchpatch {
+        url = "https://www.mercurial-scm.org/repo/hg/raw-rev/c365850b611490a5fdb235eb1cea310a542c2f84";
+        sha256 = "1gn3xvahbjdhbglffqpmj559w1bkqqsk70wqcanwv7nh972aqy9g";
+      })
+      # https://phab.mercurial-scm.org/D10639, fixes https://bz.mercurial-scm.org/show_bug.cgi?id=6514
+      (fetchpatch {
+        url = "https://www.mercurial-scm.org/repo/hg/raw-rev/c8f62920f07a40af3403ba9aefa1dac8a97d53ea";
+        sha256 = "1kw0xjg2c4jby0ncarjvpa5qafsyl1wzbk6jxls4hnxlxdl53nmn";
+      })
+    ];
+
+    format = "other";
+
+    passthru = { inherit python; }; # pass it so that the same version can be used in hg2git
+
+    cargoDeps = if rustSupport then rustPlatform.fetchCargoTarball {
+      inherit src;
+      name = "${pname}-${version}";
+      sha256 = "1kc2giqvfwsdl5fb0qmz96ws1gdrs3skfdzvpiif2i8f7r4nqlhd";
+      sourceRoot = "${pname}-${version}/rust";
+    } else null;
+    cargoRoot = if rustSupport then "rust" else null;
+
+    propagatedBuildInputs = lib.optional re2Support fb-re2
+      ++ lib.optional gitSupport pygit2
+      ++ lib.optional highlightSupport pygments;
+    nativeBuildInputs = [ makeWrapper gettext installShellFiles ]
+      ++ lib.optionals rustSupport (with rustPlatform; [
+           cargoSetupHook
+           rust.cargo
+           rust.rustc
+         ]);
+    buildInputs = [ docutils ]
+      ++ lib.optionals stdenv.isDarwin [ ApplicationServices ];
 
-  patches = [
-    # https://phab.mercurial-scm.org/D10638, needed for below patch to apply
-    (fetchpatch {
-      url = "https://phab.mercurial-scm.org/file/data/l7p2r4zcctcr3pzlybv2/PHID-FILE-bwjzxlz6sbegk3s4irik/D10638.diff";
-      sha256 = "0mfi324is02l7cnd3j0gbmg5rpyyqn3afg3f73flnfwmz5njqa5f";
-    })
-    # https://phab.mercurial-scm.org/D10639, fixes https://bz.mercurial-scm.org/show_bug.cgi?id=6514
-    (fetchpatch {
-      url = "https://phab.mercurial-scm.org/file/data/v53nhburhtkhpccyecei/PHID-FILE-6v34oll6r2gkqo4ng5nt/D10639.diff";
-      sha256 = "0h5ilrd2x1789fr6sf4k1mcvxdh0xdyr94yawdacw87v3x12c8cb";
-    })
-  ];
-
-  format = "other";
-
-  passthru = { inherit python; }; # pass it so that the same version can be used in hg2git
-
-  cargoDeps = if rustSupport then rustPlatform.fetchCargoTarball {
-    inherit src;
-    name = "${pname}-${version}";
-    sha256 = "1kc2giqvfwsdl5fb0qmz96ws1gdrs3skfdzvpiif2i8f7r4nqlhd";
-    sourceRoot = "${pname}-${version}/rust";
-  } else null;
-  cargoRoot = if rustSupport then "rust" else null;
-
-  propagatedBuildInputs = lib.optional re2Support fb-re2;
-  nativeBuildInputs = [ makeWrapper gettext ]
-    ++ lib.optionals rustSupport (with rustPlatform; [
-         cargoSetupHook
-         rust.cargo
-         rust.rustc
-       ]);
-  buildInputs = [ docutils ]
-    ++ lib.optionals stdenv.isDarwin [ ApplicationServices ];
-
-  makeFlags = [ "PREFIX=$(out)" ]
-    ++ lib.optional rustSupport "PURE=--rust";
-
-  postInstall = (lib.optionalString guiSupport ''
-    mkdir -p $out/etc/mercurial
-    cp contrib/hgk $out/bin
-    cat >> $out/etc/mercurial/hgrc << EOF
-    [extensions]
-    hgk=$out/lib/${python.libPrefix}/site-packages/hgext/hgk.py
-    EOF
-    # setting HG so that hgk can be run itself as well (not only hg view)
-    WRAP_TK=" --set TK_LIBRARY ${tk}/lib/${tk.libPrefix}
-              --set HG $out/bin/hg
-              --prefix PATH : ${tk}/bin "
-  '') + ''
-    for i in $(cd $out/bin && ls); do
-      wrapProgram $out/bin/$i \
-        $WRAP_TK
-    done
-
-    # copy hgweb.cgi to allow use in apache
-    mkdir -p $out/share/cgi-bin
-    cp -v hgweb.cgi contrib/hgweb.wsgi $out/share/cgi-bin
-    chmod u+x $out/share/cgi-bin/hgweb.cgi
-
-    # install bash/zsh completions
-    install -v -m644 -D contrib/bash_completion $out/share/bash-completion/completions/_hg
-    install -v -m644 -D contrib/zsh_completion $out/share/zsh/site-functions/_hg
-  '';
-
-  meta = with lib; {
-    inherit version;
-    description = "A fast, lightweight SCM system for very large distributed projects";
-    homepage = "https://www.mercurial-scm.org";
-    downloadPage = "https://www.mercurial-scm.org/release/";
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ eelco lukegb ];
-    updateWalker = true;
-    platforms = platforms.unix;
+    makeFlags = [ "PREFIX=$(out)" ]
+      ++ lib.optional rustSupport "PURE=--rust";
+
+    postInstall = (lib.optionalString guiSupport ''
+      mkdir -p $out/etc/mercurial
+      cp contrib/hgk $out/bin
+      cat >> $out/etc/mercurial/hgrc << EOF
+      [extensions]
+      hgk=$out/lib/${python.libPrefix}/site-packages/hgext/hgk.py
+      EOF
+      # setting HG so that hgk can be run itself as well (not only hg view)
+      WRAP_TK=" --set TK_LIBRARY ${tk}/lib/${tk.libPrefix}
+                --set HG $out/bin/hg
+                --prefix PATH : ${tk}/bin "
+    '') + ''
+      for i in $(cd $out/bin && ls); do
+        wrapProgram $out/bin/$i \
+          $WRAP_TK
+      done
+
+      # copy hgweb.cgi to allow use in apache
+      mkdir -p $out/share/cgi-bin
+      cp -v hgweb.cgi contrib/hgweb.wsgi $out/share/cgi-bin
+      chmod u+x $out/share/cgi-bin/hgweb.cgi
+
+      installShellCompletion --cmd hg \
+        --bash contrib/bash_completion \
+        --zsh contrib/zsh_completion
+    '';
+
+    passthru.tests = {};
+
+    meta = with lib; {
+      inherit version;
+      description = "A fast, lightweight SCM system for very large distributed projects";
+      homepage = "https://www.mercurial-scm.org";
+      downloadPage = "https://www.mercurial-scm.org/release/";
+      license = licenses.gpl2Plus;
+      maintainers = with maintainers; [ eelco lukegb ];
+      updateWalker = true;
+      platforms = platforms.unix;
+    };
   };
-}
+in
+  self.overridePythonAttrs (origAttrs: {
+    passthru = origAttrs.passthru // rec {
+      # withExtensions takes a function which takes the python packages set and
+      # returns a list of extensions to install.
+      #
+      # for instance: mercurial.withExtension (pm: [ pm.hg-evolve ])
+      withExtensions = f: let
+        python = self.python;
+        mercurialHighPrio = ps: (ps.toPythonModule self).overrideAttrs (oldAttrs: {
+          meta = oldAttrs.meta // {
+            priority = 50;
+          };
+        });
+        plugins = (f python.pkgs) ++ [ (mercurialHighPrio python.pkgs) ];
+        env = python.withPackages (ps: plugins);
+      in stdenv.mkDerivation {
+        pname = "${self.pname}-with-extensions";
+
+        inherit (self) src version meta;
+
+        buildInputs = self.buildInputs ++ self.propagatedBuildInputs;
+        nativeBuildInputs = self.nativeBuildInputs;
+
+        phases = [ "installPhase" "installCheckPhase" ];
+
+        installPhase = ''
+          runHook preInstall
+
+          mkdir -p $out/bin
+
+          for bindir in ${lib.concatStringsSep " " (map (d: "${lib.getBin d}/bin") plugins)}; do
+            for bin in $bindir/*; do
+              ln -s ${env}/bin/$(basename $bin) $out/bin/
+            done
+          done
+
+          ln -s ${self}/share $out/share
+
+          runHook postInstall
+        '';
+
+        installCheckPhase = ''
+          runHook preInstallCheck
+
+          $out/bin/hg help >/dev/null || exit 1
+
+          runHook postInstallCheck
+        '';
+      };
+
+      tests = origAttrs.passthru.tests // {
+        withExtensions = withExtensions (pm: [ pm.hg-evolve ]);
+      };
+    };
+  })
diff --git a/nixpkgs/pkgs/applications/version-management/pijul/default.nix b/nixpkgs/pkgs/applications/version-management/pijul/default.nix
index a51e8c199bcd..d7aa8c8f0682 100644
--- a/nixpkgs/pkgs/applications/version-management/pijul/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/pijul/default.nix
@@ -13,14 +13,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pijul";
-  version = "1.0.0-alpha.48";
+  version = "1.0.0-alpha.50";
 
   src = fetchCrate {
     inherit version pname;
-    sha256 = "09sz5665nwj2jppx2695hbwdqr3ws6z6rg7mmc4ldb7hkp4yilig";
+    sha256 = "1hinnpbk83470sdif11v1wy1269jm7cpl0ycj2m89cxwk5g54cxg";
   };
 
-  cargoSha256 = "1v5w5za7l3hy9anz136x0vgdmgg090f5sawzgrg5ylgxy2l9s2gn";
+  cargoSha256 = "0bc116nyykq8ddy7lnhxibx6hphn344d0fs7fbl2paax9ahbh2g0";
 
   cargoBuildFlags = lib.optional gitImportSupport "--features=git";
 
diff --git a/nixpkgs/pkgs/applications/version-management/tortoisehg/default.nix b/nixpkgs/pkgs/applications/version-management/tortoisehg/default.nix
index a0fa9318a13f..73d8f3aa5ec2 100644
--- a/nixpkgs/pkgs/applications/version-management/tortoisehg/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/tortoisehg/default.nix
@@ -1,29 +1,18 @@
 { lib, fetchurl, python3Packages
 , mercurial, qt5
-}@args:
-let
-  tortoisehgSrc = fetchurl rec {
-    meta.name = "tortoisehg-${meta.version}";
-    meta.version = "5.6";
-    url = "https://www.mercurial-scm.org/release/tortoisehg/targz/tortoisehg-${meta.version}.tar.gz";
-    sha256 = "031bafj88wggpvw0lgvl0djhlbhs9nls9vzwvni8yn0m0bgzc9gr";
-  };
-
-  tortoiseMercurial = (mercurial.override {
-    rustSupport = false;
-    re2Support = lib.versionAtLeast tortoisehgSrc.meta.version "5.8";
-  }).overridePythonAttrs (old: rec {
-    inherit (tortoisehgSrc.meta) version;
+}:
+
+python3Packages.buildPythonApplication rec {
+    pname = "tortoisehg";
+    version = "5.8";
+
     src = fetchurl {
-      url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
-      sha256 = "1hk2y30zzdnlv8f71kabvh0xi9c7qhp28ksh20vpd0r712sv79yz";
+      url = "https://www.mercurial-scm.org/release/tortoisehg/targz/tortoisehg-${version}.tar.gz";
+      sha256 = "154q7kyrdk045wx7rsblzx41k3wbvp2f40kzkxmiiaa5n35srsm3";
     };
-    patches = [];
-  });
 
-in python3Packages.buildPythonApplication {
-    inherit (tortoisehgSrc.meta) name version;
-    src = tortoisehgSrc;
+    # Extension point for when thg's mercurial is lagging behind mainline.
+    tortoiseMercurial = mercurial;
 
     propagatedBuildInputs = with python3Packages; [
       tortoiseMercurial qscintilla-qt5 iniparse
@@ -49,7 +38,7 @@ in python3Packages.buildPythonApplication {
     meta = {
       description = "Qt based graphical tool for working with Mercurial";
       homepage = "https://tortoisehg.bitbucket.io/";
-      license = lib.licenses.gpl2;
+      license = lib.licenses.gpl2Only;
       platforms = lib.platforms.linux;
       maintainers = with lib.maintainers; [ danbst ];
     };
diff --git a/nixpkgs/pkgs/applications/video/makemkv/default.nix b/nixpkgs/pkgs/applications/video/makemkv/default.nix
index da18a8d7abef..9ab35b92a862 100644
--- a/nixpkgs/pkgs/applications/video/makemkv/default.nix
+++ b/nixpkgs/pkgs/applications/video/makemkv/default.nix
@@ -72,6 +72,6 @@ in mkDerivation {
     license = licenses.unfree;
     homepage = "http://makemkv.com";
     platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ danieldk titanous ];
+    maintainers = with maintainers; [ titanous ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/video/obs-studio/plugins/default.nix b/nixpkgs/pkgs/applications/video/obs-studio/plugins/default.nix
index 477f0efa3e09..ef360487a6b1 100644
--- a/nixpkgs/pkgs/applications/video/obs-studio/plugins/default.nix
+++ b/nixpkgs/pkgs/applications/video/obs-studio/plugins/default.nix
@@ -6,4 +6,5 @@
   obs-multi-rtmp = libsForQt5.callPackage ./obs-multi-rtmp.nix {};
   obs-ndi = libsForQt5.callPackage ./obs-ndi.nix {};
   wlrobs = callPackage ./wlrobs.nix {};
+  looking-glass-obs = callPackage ./looking-glass-obs.nix {};
 }
diff --git a/nixpkgs/pkgs/applications/video/obs-studio/plugins/looking-glass-obs.nix b/nixpkgs/pkgs/applications/video/obs-studio/plugins/looking-glass-obs.nix
new file mode 100644
index 000000000000..1dbfef2a8649
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/obs-studio/plugins/looking-glass-obs.nix
@@ -0,0 +1,29 @@
+{ lib, stdenv, fetchFromGitHub, cmake, libbfd, SDL2, obs-studio
+, looking-glass-client }:
+
+stdenv.mkDerivation {
+  pname = "looking-glass-obs";
+  version = looking-glass-client.version;
+
+  src = looking-glass-client.src;
+
+  sourceRoot = "source/obs";
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ obs-studio libbfd SDL2 ];
+
+  NIX_CFLAGS_COMPILE = "-mavx";
+
+  installPhase = ''
+    mkdir -p $out/lib/obs-plugins/
+    mv liblooking-glass-obs.so $out/lib/obs-plugins/
+  '';
+
+  meta = with lib; {
+    description = "Plugin for OBS Studio for efficient capturing of looking-glass";
+    homepage = "https://looking-glass.io/docs/stable/obs/";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ babbaj ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/obs-studio/0001-Use-FindLibobs.cmake.patch b/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-move-transition-use-FindLibobs.cmake.patch
index db7d5b4b31f4..bc082de0bd5e 100644
--- a/nixpkgs/pkgs/applications/video/obs-studio/0001-Use-FindLibobs.cmake.patch
+++ b/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-move-transition-use-FindLibobs.cmake.patch
@@ -18,6 +18,7 @@ index f6d8fa3..5f0657d 100644
 +	"${LIBOBS_INCLUDE_DIR}/../UI/obs-frontend-api")
 +
  configure_file(${CMAKE_CURRENT_SOURCE_DIR}/version.h.in ${CMAKE_CURRENT_SOURCE_DIR}/version.h)
+
  set(move-transition_HEADERS
 @@ -38,4 +49,10 @@ target_link_libraries(move-transition
  	libobs)
diff --git a/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix b/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix
index 90a0a56971a2..b1f3e680ef2a 100644
--- a/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix
+++ b/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     cp ${obs-studio.src}/cmake/external/FindLibobs.cmake FindLibobs.cmake
   '';
 
-  patches = [ ./0001-Use-FindLibobs.cmake.patch ];
+  patches = [ ./obs-move-transition-use-FindLibobs.cmake.patch ];
 
   postPatch = ''
     substituteInPlace move-source-filter.c --replace '<../UI/obs-frontend-api/obs-frontend-api.h>' '<obs-frontend-api.h>'
diff --git a/nixpkgs/pkgs/applications/video/pyca/default.nix b/nixpkgs/pkgs/applications/video/pyca/default.nix
index df42bbec156f..d7e1e03733c2 100644
--- a/nixpkgs/pkgs/applications/video/pyca/default.nix
+++ b/nixpkgs/pkgs/applications/video/pyca/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonApplication, fetchFromGitHub, pycurl, dateutil, configobj, sqlalchemy, sdnotify, flask }:
+{ lib, buildPythonApplication, fetchFromGitHub, pycurl, python-dateutil, configobj, sqlalchemy, sdnotify, flask }:
 
 buildPythonApplication rec {
   pname = "pyca";
@@ -13,7 +13,7 @@ buildPythonApplication rec {
 
   propagatedBuildInputs = [
     pycurl
-    dateutil
+    python-dateutil
     configobj
     sqlalchemy
     sdnotify
diff --git a/nixpkgs/pkgs/applications/video/subtitleeditor/default.nix b/nixpkgs/pkgs/applications/video/subtitleeditor/default.nix
index cc3d518ff884..b1c8f436884c 100644
--- a/nixpkgs/pkgs/applications/video/subtitleeditor/default.nix
+++ b/nixpkgs/pkgs/applications/video/subtitleeditor/default.nix
@@ -3,13 +3,9 @@
   libsigcxx, libxmlxx, xdg-utils, isocodes, wrapGAppsHook
 }:
 
-let
-  version = "0.54.0";
-in
-
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "subtitleeditor";
-  inherit version;
+  version = "0.54.0";
 
   src = fetchFromGitHub {
     owner = "kitone";
diff --git a/nixpkgs/pkgs/applications/video/vlc/default.nix b/nixpkgs/pkgs/applications/video/vlc/default.nix
index ed5976151301..6098aeba0514 100644
--- a/nixpkgs/pkgs/applications/video/vlc/default.nix
+++ b/nixpkgs/pkgs/applications/video/vlc/default.nix
@@ -24,11 +24,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "${optionalString onlyLibVLC "lib"}vlc";
-  version = "3.0.12";
+  version = "3.0.16";
 
   src = fetchurl {
     url = "http://get.videolan.org/vlc/${version}/vlc-${version}.tar.xz";
-    sha256 = "0ygqihw2c5vvzv8950dlf7rdwz1cpz1668jgyja604ljibrmix7g";
+    sha256 = "sha256-/641/GT2JcF1Vx0jRrxfYge+mXYlF/FUI+dPGDmUEPY=";
   };
 
   # VLC uses a *ton* of libraries for various pieces of functionality, many of
diff --git a/nixpkgs/pkgs/applications/virtualization/charliecloud/default.nix b/nixpkgs/pkgs/applications/virtualization/charliecloud/default.nix
index f6d7ce3d6196..cbd7d8e5512d 100644
--- a/nixpkgs/pkgs/applications/virtualization/charliecloud/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/charliecloud/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
 
-  version = "0.23";
+  version = "0.24";
   pname = "charliecloud";
 
   src = fetchFromGitHub {
     owner = "hpc";
     repo = "charliecloud";
     rev = "v${version}";
-    sha256 = "sha256-JQNidKqJROFVm+O1exTDon1fwU91zONqgKJIpe9gspY=";
+    sha256 = "sha256-kdaVlwE3vdCxsmJTOUwx8J+9UcBuXbKDwS2MHX2ZPPM=";
   };
 
   nativeBuildInputs = [ autoreconfHook makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/virtualization/cri-o/default.nix b/nixpkgs/pkgs/applications/virtualization/cri-o/default.nix
index 28e52a639eea..42095da8f52d 100644
--- a/nixpkgs/pkgs/applications/virtualization/cri-o/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/cri-o/default.nix
@@ -15,13 +15,13 @@
 
 buildGoModule rec {
   pname = "cri-o";
-  version = "1.21.0";
+  version = "1.21.1";
 
   src = fetchFromGitHub {
     owner = "cri-o";
     repo = "cri-o";
     rev = "v${version}";
-    sha256 = "sha256-qhS1RLkM7xDsH3qDVL+ORXmwULYz8UK1oJM29oRqJ0M=";
+    sha256 = "sha256-WoQeZkHuCQGv//UKTpvucJXq7xI9Fkil8V1B1qTM75k=";
   };
   vendorSha256 = null;
 
diff --git a/nixpkgs/pkgs/applications/virtualization/lima/default.nix b/nixpkgs/pkgs/applications/virtualization/lima/default.nix
index 9ada3351728d..198e3b694ceb 100644
--- a/nixpkgs/pkgs/applications/virtualization/lima/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/lima/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "lima";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "AkihiroSuda";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-vwAxVBy2SqghxJGscSZ1o1B8EMvQh1fz5CS1YG7Rq2g=";
+    sha256 = "sha256-1952xGSfVFI2Fs5HLJKCyB6ZxKFf5uPKXIlctM/T+8o=";
   };
 
-  vendorSha256 = "sha256-xM9LLh5c5QBrcIptdqiNNp1nU9GcdQvwrCnnyuXWYfE=";
+  vendorSha256 = "sha256-rPL/jxMHMkKffoYLSI3FFtFRYGtARKmrODmL9w+rN0E=";
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
diff --git a/nixpkgs/pkgs/applications/window-managers/bspwm/default.nix b/nixpkgs/pkgs/applications/window-managers/bspwm/default.nix
index c07c3389e3c0..e7c0eecbf82e 100644
--- a/nixpkgs/pkgs/applications/window-managers/bspwm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/bspwm/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A tiling window manager based on binary space partitioning";
     homepage = "https://github.com/baskerville/bspwm";
-    maintainers = with maintainers; [ meisternu epitrochoid rvolosatovs ];
+    maintainers = with maintainers; [ meisternu epitrochoid ];
     license = licenses.bsd2;
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/applications/window-managers/dwm/default.nix b/nixpkgs/pkgs/applications/window-managers/dwm/default.nix
index 088581b67013..6235c93a2816 100644
--- a/nixpkgs/pkgs/applications/window-managers/dwm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/dwm/default.nix
@@ -27,6 +27,8 @@ stdenv.mkDerivation rec {
     in
     lib.optionalString (conf != null) "cp ${configFile} config.def.h";
 
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
+
   meta = with lib; {
     homepage = "https://dwm.suckless.org/";
     description = "An extremely fast, small, and dynamic window manager for X";
diff --git a/nixpkgs/pkgs/applications/window-managers/qtile/default.nix b/nixpkgs/pkgs/applications/window-managers/qtile/default.nix
index ba7228f5b961..08b3a9834b6a 100644
--- a/nixpkgs/pkgs/applications/window-managers/qtile/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/qtile/default.nix
@@ -39,7 +39,7 @@ python37Packages.buildPythonApplication rec {
     cairocffi-xcffib
     setuptools
     setuptools-scm
-    dateutil
+    python-dateutil
     dbus-python
     mpd2
     psutil
diff --git a/nixpkgs/pkgs/applications/window-managers/river/default.nix b/nixpkgs/pkgs/applications/window-managers/river/default.nix
index 6fbcf1b28703..317c08c5d894 100644
--- a/nixpkgs/pkgs/applications/window-managers/river/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/river/default.nix
@@ -12,19 +12,20 @@
 , pixman
 , udev
 , libevdev
+, libinput
 , libX11
 , libGL
 }:
 
 stdenv.mkDerivation rec {
   pname = "river";
-  version = "unstable-2021-06-06";
+  version = "unstable-2021-06-27";
 
   src = fetchFromGitHub {
     owner = "ifreund";
     repo = pname;
-    rev = "0e9dc089d14e2b5c923d483c62d342af29493cf0";
-    sha256 = "sha256-2rIZYr9Y+IBrox5MVrPpHeI8OVSXHsMZmcCagsX56lU=";
+    rev = "39578db1344ca298f2bb2fe2278a35108d5f2b66";
+    sha256 = "sha256-DQroN+FV7sq0PyczERZgnW73YKAVvj2JJQjfzidlBI8=";
     fetchSubmodules = true;
   };
 
@@ -38,6 +39,7 @@ stdenv.mkDerivation rec {
     pixman
     udev
     libevdev
+    libinput
     libX11
     libGL
   ];
diff --git a/nixpkgs/pkgs/applications/window-managers/sway/idle.nix b/nixpkgs/pkgs/applications/window-managers/sway/idle.nix
index acfbb1ad36b1..8c1ae0b35924 100644
--- a/nixpkgs/pkgs/applications/window-managers/sway/idle.nix
+++ b/nixpkgs/pkgs/applications/window-managers/sway/idle.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub
-, meson, ninja, pkg-config, scdoc
+, meson, ninja, pkg-config, scdoc, wayland-scanner
 , wayland, wayland-protocols, systemd
 }:
 
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
       --replace "version: '1.5'" "version: '${version}'"
   '';
 
-  nativeBuildInputs = [ meson ninja pkg-config scdoc ];
+  nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
   buildInputs = [ wayland wayland-protocols systemd ];
 
   mesonFlags = [ "-Dman-pages=enabled" "-Dlogind=enabled" ];
diff --git a/nixpkgs/pkgs/applications/window-managers/sway/lock.nix b/nixpkgs/pkgs/applications/window-managers/sway/lock.nix
index 9b1523421eef..6dccedad827b 100644
--- a/nixpkgs/pkgs/applications/window-managers/sway/lock.nix
+++ b/nixpkgs/pkgs/applications/window-managers/sway/lock.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub
-, meson, ninja, pkg-config, scdoc
+, meson, ninja, pkg-config, scdoc, wayland-scanner
 , wayland, wayland-protocols, libxkbcommon, cairo, gdk-pixbuf, pam
 }:
 
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
       --replace "version: '1.4'" "version: '${version}'"
   '';
 
-  nativeBuildInputs = [ meson ninja pkg-config scdoc ];
+  nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
   buildInputs = [ wayland wayland-protocols libxkbcommon cairo gdk-pixbuf pam ];
 
   mesonFlags = [
diff --git a/nixpkgs/pkgs/applications/window-managers/tinywl/default.nix b/nixpkgs/pkgs/applications/window-managers/tinywl/default.nix
new file mode 100644
index 000000000000..ea8a92615a46
--- /dev/null
+++ b/nixpkgs/pkgs/applications/window-managers/tinywl/default.nix
@@ -0,0 +1,28 @@
+{ lib, stdenv, wlroots, pkg-config
+, libxkbcommon, pixman, udev, wayland, wayland-protocols
+}:
+
+stdenv.mkDerivation {
+  pname = "tinywl";
+  inherit (wlroots) version src;
+
+  sourceRoot = "source/tinywl";
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ libxkbcommon pixman udev wayland wayland-protocols wlroots ];
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    cp tinywl $out/bin
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/swaywm/wlroots/tree/master/tinywl";
+    description = ''"minimum viable product" Wayland compositor based on wlroots.'';
+    maintainers = with maintainers; [ qyliss ];
+    license = licenses.cc0;
+    inherit (wlroots.meta) platforms;
+  };
+}
diff --git a/nixpkgs/pkgs/build-support/docker/default.nix b/nixpkgs/pkgs/build-support/docker/default.nix
index 9369e7d3158f..ffe5d69ec90d 100644
--- a/nixpkgs/pkgs/build-support/docker/default.nix
+++ b/nixpkgs/pkgs/build-support/docker/default.nix
@@ -117,7 +117,8 @@ rec {
         --tmpdir=$TMPDIR \
         --override-os ${os} \
         --override-arch ${arch} \
-        copy "$sourceURL" "docker-archive://$out:$destNameTag"
+        copy "$sourceURL" "docker-archive://$out:$destNameTag" \
+        | cat  # pipe through cat to force-disable progress bar
     '';
 
   # We need to sum layer.tar, not a directory, hence tarsum instead of nix-hash.
diff --git a/nixpkgs/pkgs/build-support/trivial-builders.nix b/nixpkgs/pkgs/build-support/trivial-builders.nix
index 219f808403cc..6f51ba512c12 100644
--- a/nixpkgs/pkgs/build-support/trivial-builders.nix
+++ b/nixpkgs/pkgs/build-support/trivial-builders.nix
@@ -116,7 +116,7 @@ rec {
     , checkPhase ? ""    # syntax checks, e.g. for scripts
     }:
     runCommand name
-      { inherit text executable;
+      { inherit text executable checkPhase;
         passAsFile = [ "text" ];
         # Pointless to do this on a remote machine.
         preferLocalBuild = true;
@@ -132,7 +132,7 @@ rec {
           echo -n "$text" > "$n"
         fi
 
-        ${checkPhase}
+        eval "$checkPhase"
 
         (test -n "$executable" && chmod +x "$n") || true
       '';
diff --git a/nixpkgs/pkgs/build-support/trivial-builders/test-overriding.nix b/nixpkgs/pkgs/build-support/trivial-builders/test-overriding.nix
new file mode 100644
index 000000000000..ddd5dc050752
--- /dev/null
+++ b/nixpkgs/pkgs/build-support/trivial-builders/test-overriding.nix
@@ -0,0 +1,119 @@
+# Check that overriding works for trivial-builders like
+# `writeShellScript` via `overrideAttrs`. This is useful
+# to override the `checkPhase`, e. g. when you want
+# to enable extglob in `writeShellScript`.
+#
+# Run using `nix-build -A tests.trivial-overriding`.
+{ lib
+, runtimeShell
+, runCommand
+, callPackage
+, writeShellScript
+, writeTextFile
+, writeShellScriptBin
+}:
+
+let
+  extglobScript = ''
+    shopt -s extglob
+    touch success
+    echo @(success|failure)
+    rm success
+  '';
+
+  # Reuse the old `checkPhase` of `writeShellScript`, but enable extglob.
+  allowExtglob = old: {
+    checkPhase = ''
+      # make sure we don't change the settings for
+      # the rest of the derivation's build
+      (
+        export BASHOPTS
+        shopt -s extglob
+        ${old.checkPhase}
+      )
+    '';
+  };
+
+  # Run old checkPhase, but only succeed if it fails.
+  # This HACK is required because we can't introspect build failures
+  # in nix: With `assertFail` we want to make sure that the default
+  # `checkPhase` would fail if extglob was used in the script.
+  assertFail = old: {
+    # write old checkPhase into a shell script, so we can check for
+    # the phase to fail even though we have `set -e`.
+    checkPhase = ''
+      if source ${writeShellScript "old-check-phase" old.checkPhase} 2>/dev/null; then
+        exit 1
+      fi
+    '';
+  };
+
+  simpleCase = case:
+    writeShellScript "test-trivial-overriding-${case}" extglobScript;
+
+  callPackageCase = case: callPackage (
+    { writeShellScript }:
+    writeShellScript "test-trivial-callpackage-overriding-${case}" extglobScript
+  ) { };
+
+  binCase = case:
+    writeShellScriptBin "test-trivial-overriding-bin-${case}" extglobScript;
+
+  # building this derivation would fail without overriding
+  textFileCase = writeTextFile {
+    name = "test-trivial-overriding-text-file";
+    checkPhase = "false";
+    text = ''
+      #!${runtimeShell}
+      echo success
+    '';
+    executable = true;
+  };
+
+  mkCase = f: type: isBin:
+    let
+      drv = (f type).overrideAttrs
+        (if type == "succ" then allowExtglob else assertFail);
+    in if isBin then "${drv}/bin/${drv.name}" else drv;
+
+  writeTextOverrides = {
+    # Enabling globbing in checkPhase
+    simpleSucc = mkCase simpleCase "succ" false;
+    # Ensure it's possible to fail; in this case globbing is not enabled.
+    simpleFail = mkCase simpleCase "fail" false;
+    # Do the same checks after wrapping with callPackage
+    # to make sure callPackage doesn't mess with the override
+    callpSucc = mkCase callPackageCase "succ" false;
+    callpFail = mkCase callPackageCase "fail" false;
+    # Do the same check using `writeShellScriptBin`
+    binSucc = mkCase binCase "succ" true;
+    binFail = mkCase binCase "fail" true;
+    # Check that we can also override plain writeTextFile
+    textFileSuccess = textFileCase.overrideAttrs (_: {
+      checkPhase = "true";
+    });
+  };
+
+  # `runTest` forces nix to build the script of our test case and
+  # run its `checkPhase` which is our main interest. Additionally
+  # it executes the script and thus makes sure that extglob also
+  # works at run time.
+  runTest = script:
+    let
+      name = script.name or (builtins.baseNameOf script);
+    in writeShellScript "run-${name}" ''
+      if [ "$(${script})" != "success" ]; then
+        echo "Failed in ${script}"
+        exit 1
+      fi
+    '';
+in
+
+runCommand "test-writeShellScript-overriding" {
+  passthru = { inherit writeTextOverrides; };
+} ''
+  ${lib.concatMapStrings (test: ''
+      ${runTest test}
+    '') (lib.attrValues writeTextOverrides)}
+  touch "$out"
+''
diff --git a/nixpkgs/pkgs/data/fonts/charis-sil/default.nix b/nixpkgs/pkgs/data/fonts/charis-sil/default.nix
index 44b40c72b58f..6639cb57d8ba 100644
--- a/nixpkgs/pkgs/data/fonts/charis-sil/default.nix
+++ b/nixpkgs/pkgs/data/fonts/charis-sil/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "5.000";
+  version = "6.000";
 in
   fetchzip rec {
     name = "charis-sil-${version}";
@@ -14,7 +14,7 @@ in
       unzip -j $downloadedFile \*OFL.txt \*OFL-FAQ.txt \*README.txt \*FONTLOG.txt -d "$out/share/doc/${name}"
     '';
 
-    sha256 = "1a220s8n0flvcdkazqf5g10v6r55s2an308slvvarynpj6l7x27n";
+    sha256 = "sha256-eMmC893rI42qzZVCI17i9XSAbQzXCK2fHVe5Pf1/VnM=";
 
     meta = with lib; {
       homepage = "https://software.sil.org/charis";
diff --git a/nixpkgs/pkgs/data/fonts/gentium/default.nix b/nixpkgs/pkgs/data/fonts/gentium/default.nix
index 3622e1c3b3c7..ac8839f075b2 100644
--- a/nixpkgs/pkgs/data/fonts/gentium/default.nix
+++ b/nixpkgs/pkgs/data/fonts/gentium/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "5.000";
+  version = "6.001";
 in fetchzip rec {
   name = "gentium-${version}";
 
@@ -10,12 +10,20 @@ in fetchzip rec {
   postFetch = ''
     mkdir -p $out/share/{doc,fonts}
     unzip -l $downloadedFile
-    unzip -j $downloadedFile \*.ttf                                          -d $out/share/fonts/truetype
-    unzip -j $downloadedFile \*/FONTLOG.txt \*/GENTIUM-FAQ.txt \*/README.txt -d $out/share/doc/${name}
-    unzip -j $downloadedFile \*/documentation/\*                             -d $out/share/doc/${name}/documentation
+    unzip -j $downloadedFile \*.ttf \
+      -d $out/share/fonts/truetype
+    unzip -j $downloadedFile \
+      \*/FONTLOG.txt \
+      \*/README.txt \
+      -d $out/share/doc/${name}
+    unzip -j $downloadedFile \
+      \*/documentation/\*.html \
+      \*/documentation/\*.txt \
+      -x \*/documentation/source/\* \
+      -d $out/share/doc/${name}/documentation
   '';
 
-  sha256 = "1qr2wjdmm93167b0w9cidlf3wwsyjx4838ja9jmm4jkyian5whhp";
+  sha256 = "sha256-DeoMTJ2nhTBtNQYG55lIMvnulqpk/KTeIqgpb5eiTIA=";
 
   meta = with lib; {
     homepage = "https://software.sil.org/gentium/";
diff --git a/nixpkgs/pkgs/data/fonts/sarasa-gothic/default.nix b/nixpkgs/pkgs/data/fonts/sarasa-gothic/default.nix
index 9fce696b6e86..5bc691e72440 100644
--- a/nixpkgs/pkgs/data/fonts/sarasa-gothic/default.nix
+++ b/nixpkgs/pkgs/data/fonts/sarasa-gothic/default.nix
@@ -1,12 +1,12 @@
 { lib, fetchurl, libarchive }:
 
 let
-  version = "0.12.11";
+  version = "0.32.9";
 in fetchurl {
   name = "sarasa-gothic-${version}";
 
   url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${version}/sarasa-gothic-ttc-${version}.7z";
-  sha256 = "0vcp8583by7pfqinq8p2jx2bn4dqq816x4bxgv05k0kb9ziwj7aj";
+  sha256 = "0mwaj9dq26f36ddywjm7m0is1jml2kpmqm46b16c8avvr97c65z5";
 
   recursiveHash = true;
   downloadToTemp = true;
diff --git a/nixpkgs/pkgs/data/fonts/sudo/default.nix b/nixpkgs/pkgs/data/fonts/sudo/default.nix
index 322dcfd68c95..bc8396a7a214 100644
--- a/nixpkgs/pkgs/data/fonts/sudo/default.nix
+++ b/nixpkgs/pkgs/data/fonts/sudo/default.nix
@@ -1,11 +1,11 @@
 { lib, fetchzip }:
 
 let
-  version = "0.55.1";
+  version = "0.55.2";
 in fetchzip {
   name = "sudo-font-${version}";
   url = "https://github.com/jenskutilek/sudo-font/releases/download/v${version}/sudo.zip";
-  sha256 = "17vmcdz73mvy5m5zblgm2fi98v520hsl4lglww8gkhzl5zc6wb9y";
+  sha256 = "0r7w58r80yblyzlh6qb57pmafxb3frg1iny644bfr3p64j4cbzzb";
 
   postFetch = ''
     mkdir -p $out/share/fonts/
diff --git a/nixpkgs/pkgs/data/fonts/terminus-font-ttf/default.nix b/nixpkgs/pkgs/data/fonts/terminus-font-ttf/default.nix
index f9d25a0128ef..1a65798891f5 100644
--- a/nixpkgs/pkgs/data/fonts/terminus-font-ttf/default.nix
+++ b/nixpkgs/pkgs/data/fonts/terminus-font-ttf/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "4.47.0";
+  version = "4.49.1";
 in fetchzip {
   name = "terminus-font-ttf-${version}";
 
@@ -18,7 +18,7 @@ in fetchzip {
     install -Dm 644 COPYING "$out/share/doc/terminus-font-ttf/COPYING"
   '';
 
-  sha256 = "1mnx3vlnl0r15yzsa4zb9qqab4hpi603gdwhlbw960wg03i3xn8z";
+  sha256 = "sha256-UaTnCamIRN/3xZsYt5nYzvykXQ3ri94a047sWOJ2RfU=";
 
   meta = with lib; {
     description = "A clean fixed width TTF font";
diff --git a/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix
index e7543aff6668..adc2c5fb197c 100644
--- a/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix
+++ b/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "papirus-icon-theme";
-  version = "20210601";
+  version = "20210701";
 
   src = fetchFromGitHub {
     owner = "PapirusDevelopmentTeam";
     repo = pname;
     rev = version;
-    sha256 = "sha256-AX51udzIv/DO0n8ba2Gm6Leikep6x4tgUuRUdPX/Cds=";
+    sha256 = "sha256-eqSZBcypwnNX92SGG17MWlnsVzk0jOTdjtEaWMbQsMs=";
   };
 
   nativeBuildInputs = [ gtk3 ];
diff --git a/nixpkgs/pkgs/data/misc/fedora-backgrounds/generic.nix b/nixpkgs/pkgs/data/misc/fedora-backgrounds/generic.nix
index 3e2e0928c3bc..5ebc6ff367e9 100644
--- a/nixpkgs/pkgs/data/misc/fedora-backgrounds/generic.nix
+++ b/nixpkgs/pkgs/data/misc/fedora-backgrounds/generic.nix
@@ -38,6 +38,6 @@ stdenvNoCC.mkDerivation {
     description = "A set of default and supplemental wallpapers for Fedora";
     license = licenses.cc-by-sa-40;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ danieldk ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/data/misc/hackage/pin.json b/nixpkgs/pkgs/data/misc/hackage/pin.json
index 8a8cfa74d702..b44bcc923785 100644
--- a/nixpkgs/pkgs/data/misc/hackage/pin.json
+++ b/nixpkgs/pkgs/data/misc/hackage/pin.json
@@ -1,6 +1,6 @@
 {
-  "commit": "8005ce7c7ba90fa92db65f86c544623353a96cf8",
-  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/8005ce7c7ba90fa92db65f86c544623353a96cf8.tar.gz",
-  "sha256": "1kzhh7h0csb0vh9avbjsm6hziaa3lbpmzp4pkij4s3bbl4l664aa",
-  "msg": "Update from Hackage at 2021-06-22T07:13:30Z"
+  "commit": "1567e96c400fcd62dfc0d9412881591d6e1e9f22",
+  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/1567e96c400fcd62dfc0d9412881591d6e1e9f22.tar.gz",
+  "sha256": "04z26ypfp3nip2x6gwrv5k1lmckmmi03ry3z97syc72qqj59n9hq",
+  "msg": "Update from Hackage at 2021-06-26T12:56:56Z"
 }
diff --git a/nixpkgs/pkgs/data/misc/rime-data/default.nix b/nixpkgs/pkgs/data/misc/rime-data/default.nix
new file mode 100644
index 000000000000..371a07d3ec1a
--- /dev/null
+++ b/nixpkgs/pkgs/data/misc/rime-data/default.nix
@@ -0,0 +1,66 @@
+{ lib, stdenv, fetchFromGitHub, librime }:
+
+stdenv.mkDerivation {
+  pname = "rime-data";
+  version = "0.38.20210628";
+
+  src = fetchFromGitHub {
+    owner = "rime";
+    repo = "plum";
+    rev = "0b835e347cad9c2d7038cfe82df5b5d1fe1c0327";
+    sha256 = "0mja4wyazxdc6fr7pzij5ah4rzwxv4s12s64vfn5ikx1ias1f8ib";
+  };
+
+  buildInputs = [ librime ];
+
+  buildFlags = [ "all" ];
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  preBuild = import ./fetchSchema.nix fetchFromGitHub;
+
+  postPatch = ''
+    # Disable git operations.
+    sed -i /fetch_or_update_package$/d scripts/install-packages.sh
+  '';
+
+  meta = with lib; {
+    description = "Schema data of Rime Input Method Engine";
+    longDescription = ''
+      Rime-data provides schema data for Rime Input Method Engine.
+    '';
+    homepage = "https://rime.im";
+    license = with licenses; [
+      # rime-array
+      # rime-combo-pinyin
+      # rime-double-pinyin
+      # rime-middle-chinese
+      # rime-scj
+      # rime-soutzoe
+      # rime-stenotype
+      # rime-wugniu
+      gpl3Only
+
+      # plum
+      # rime-bopomofo
+      # rime-cangjie
+      # rime-emoji
+      # rime-essay
+      # rime-ipa
+      # rime-jyutping
+      # rime-luna-pinyin
+      # rime-prelude
+      # rime-quick
+      # rime-stroke
+      # rime-terra-pinyin
+      # rime-wubi
+      lgpl3Only
+
+      # rime-pinyin-simp
+      asl20
+
+      # rime-cantonese
+      cc-by-40
+    ];
+    maintainers = [ maintainers.pengmeiyu ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/misc/rime-data/fetchSchema.nix b/nixpkgs/pkgs/data/misc/rime-data/fetchSchema.nix
new file mode 100644
index 000000000000..7bf7d8477c5e
--- /dev/null
+++ b/nixpkgs/pkgs/data/misc/rime-data/fetchSchema.nix
@@ -0,0 +1,137 @@
+# Generated using generateFetchSchema.sh
+fetchFromGitHub:
+''
+mkdir -p package/rime
+ln -sv ${fetchFromGitHub {
+  owner = "rime";
+  repo = "rime-array";
+  rev = "8514193da939bc8888ad6a744f5e5921d4baebc7";
+  sha256 = "1fy7pcq7d8m0wzkkhklmv6p370ms9lqc1zpndyy2xjamzrbb9l83";
+}} package/rime/array
+ln -sv ${fetchFromGitHub {
+  owner = "rime";
+  repo = "rime-bopomofo";
+  rev = "c7618f4f5728e1634417e9d02ea50d82b71956ab";
+  sha256 = "0g77nv0jrwqnbqqna0ib0kqcy6l5zl62kh49ny67d6bjwnwz9186";
+}} package/rime/bopomofo
+ln -sv ${fetchFromGitHub {
+  owner = "rime";
+  repo = "rime-cangjie";
+  rev = "8dfad9e537f18821b71ba28773315d9c670ae245";
+  sha256 = "029kw9nx6x0acg4f0m8wj1ziqffffhy9yyj51nlx17cnia0qcrby";
+}} package/rime/cangjie
+ln -sv ${fetchFromGitHub {
+  owner = "rime";
+  repo = "rime-cantonese";
+  rev = "b6f800c74eb639816d56d0d5601aaa96c8963178";
+  sha256 = "1a4ksacbz8l30y3y5c017d0hzwik8knplglb3yswy7l4hsvaanyh";
+}} package/rime/cantonese
+ln -sv ${fetchFromGitHub {
+  owner = "rime";
+  repo = "rime-combo-pinyin";
+  rev = "a84065a86b272c76215215bd6f03c506b6e7097c";
+  sha256 = "1f0b4kakw0x26gmx7xi4f94nbjlb8lvi9bks4f92jswa045vnd87";
+}} package/rime/combo-pinyin
+ln -sv ${fetchFromGitHub {
+  owner = "rime";
+  repo = "rime-double-pinyin";
+  rev = "69bf85d4dfe8bac139c36abbd68d530b8b6622ea";
+  sha256 = "093wif5avvvw45fqbwj5wkbxrychy4pagl4mwsmbrayc8jkp69ak";
+}} package/rime/double-pinyin
+ln -sv ${fetchFromGitHub {
+  owner = "rime";
+  repo = "rime-emoji";
+  rev = "4c8c51f4a3bc7298c99376eda9bbd86070fc4fa1";
+  sha256 = "0175jqh210fncafqckr9zzaw55qpswmqjrykwms1apmc68l43122";
+}} package/rime/emoji
+ln -sv ${fetchFromGitHub {
+  owner = "rime";
+  repo = "rime-essay";
+  rev = "9db2e77305e75798baf3ec8dcf1f82785b5e1be9";
+  sha256 = "03ypkkaadd5qmyg26n24a66cll90xvcimgbmiyv4d33jradiqg22";
+}} package/rime/essay
+ln -sv ${fetchFromGitHub {
+  owner = "rime";
+  repo = "rime-ipa";
+  rev = "22b71710e029bcb412e9197192a638ab11bc2abf";
+  sha256 = "0zdk4f9qkfj3q5hmjnairj1lv6f6y27mic12k886n6sxywwbwr2k";
+}} package/rime/ipa
+ln -sv ${fetchFromGitHub {
+  owner = "rime";
+  repo = "rime-jyutping";
+  rev = "1e24baa6998815c716c581effe8ec65ee87c4e8c";
+  sha256 = "0s2rckpwlrm3n7w1csnqyi5p9mkpp3z87s7mrm2vc9sv06rpv7zl";
+}} package/rime/jyutping
+ln -sv ${fetchFromGitHub {
+  owner = "rime";
+  repo = "rime-luna-pinyin";
+  rev = "623adb022b094d540218b287c2e601509eee3347";
+  sha256 = "06pcwp09l5wkqv7792gbsl31xnlb3gr9q6bgbp94vvq6m2ycahqz";
+}} package/rime/luna-pinyin
+ln -sv ${fetchFromGitHub {
+  owner = "rime";
+  repo = "rime-middle-chinese";
+  rev = "9fad7a7c0c26167d5e6e85db8df48a15c7f7d4f0";
+  sha256 = "0a0bqrlzg0k692xblqnh1rh1fwwqqb205xwxlihgji85n8ibcgph";
+}} package/rime/middle-chinese
+ln -sv ${fetchFromGitHub {
+  owner = "rime";
+  repo = "rime-pinyin-simp";
+  rev = "b0e84cda02c613ebdedc127a26131b3800f45a8e";
+  sha256 = "05v804qr3a9xvjzp9yid7231fi2l2yrl47ybbvql61z9k36ab094";
+}} package/rime/pinyin-simp
+ln -sv ${fetchFromGitHub {
+  owner = "rime";
+  repo = "rime-prelude";
+  rev = "3de303ffaa731dba07b0462ce59f4767e1219ad2";
+  sha256 = "0g7a0bla58rh1v3md59k6adk185pilb4z8i2i0pqdl4nwqp40n2p";
+}} package/rime/prelude
+ln -sv ${fetchFromGitHub {
+  owner = "rime";
+  repo = "rime-quick";
+  rev = "3fe5911ba608cb2df1b6301b76ad1573bd482a76";
+  sha256 = "08bh87ym5qvw55lyw20l3m7jd4c2z5rvil8h5q8790r7z6j6ijy9";
+}} package/rime/quick
+ln -sv ${fetchFromGitHub {
+  owner = "rime";
+  repo = "rime-scj";
+  rev = "cab5a0858765eff0553dd685a2d61d5536e9149c";
+  sha256 = "0ard2bjp4896a8dimmcwyjwgmp9kl4rz92yc92jnd3y4rgwl6fvk";
+}} package/rime/scj
+ln -sv ${fetchFromGitHub {
+  owner = "rime";
+  repo = "rime-soutzoe";
+  rev = "beeaeca72d8e17dfd1e9af58680439e9012987dc";
+  sha256 = "0jyqx0q9s0qxn168l5n8zav8jcl2g5ppr7pa8jm1vwrllf20slcc";
+}} package/rime/soutzoe
+ln -sv ${fetchFromGitHub {
+  owner = "rime";
+  repo = "rime-stenotype";
+  rev = "f3e9189d5ce33c55d3936cc58e39d0c88b3f0c88";
+  sha256 = "0dl6px7lrh3xa87knjzwzdcwjj1k1dg4l72q7lb48an4s9f1cy5d";
+}} package/rime/stenotype
+ln -sv ${fetchFromGitHub {
+  owner = "rime";
+  repo = "rime-stroke";
+  rev = "ea8576d1accd6fda339e96b415caadb56e2a07d1";
+  sha256 = "07h6nq9867hjrd2v3h1pnr940sdrw4mqrzj43siz1rzjxz3s904r";
+}} package/rime/stroke
+ln -sv ${fetchFromGitHub {
+  owner = "rime";
+  repo = "rime-terra-pinyin";
+  rev = "ce7b9249612f575d2f43d51fcacd31d1b4e0ef1b";
+  sha256 = "0vm303f4lrdmdmif5klrp6w29vn9z2vzw33cw0y83pcnz39wiads";
+}} package/rime/terra-pinyin
+ln -sv ${fetchFromGitHub {
+  owner = "rime";
+  repo = "rime-wubi";
+  rev = "f1876f08f1d4a9696395be0070c0e8e4353c44cb";
+  sha256 = "1d9y9rqssacria9d0hla96czsqv2wkfm6z926m1x269ryv96zxvk";
+}} package/rime/wubi
+ln -sv ${fetchFromGitHub {
+  owner = "rime";
+  repo = "rime-wugniu";
+  rev = "abd1ee98efbf170258fcf43875c21a4259e00b61";
+  sha256 = "0qn54d3cclny106ixdw08r5n6wn52ffs1hgrma3k0j4pv0kr9nlq";
+}} package/rime/wugniu
+''
diff --git a/nixpkgs/pkgs/data/misc/rime-data/generateFetchSchema.sh b/nixpkgs/pkgs/data/misc/rime-data/generateFetchSchema.sh
new file mode 100755
index 000000000000..e7c05c410281
--- /dev/null
+++ b/nixpkgs/pkgs/data/misc/rime-data/generateFetchSchema.sh
@@ -0,0 +1,43 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p nix-prefetch-git -p jq
+
+imlist=(
+    array
+    bopomofo
+    cangjie
+    cantonese
+    combo-pinyin
+    double-pinyin
+    emoji
+    essay
+    ipa
+    jyutping
+    luna-pinyin
+    middle-chinese
+    pinyin-simp
+    prelude
+    quick
+    scj
+    soutzoe
+    stenotype
+    stroke
+    terra-pinyin
+    wubi
+    wugniu
+)
+
+echo "# Generated using generateFetchSchema.sh"
+echo "fetchFromGitHub:"
+echo \'\'
+echo "mkdir -p package/rime"
+for im in ${imlist[@]}; do
+    tempFile=$(mktemp)
+    echo "ln -sv \${fetchFromGitHub {"
+    echo "  owner = \"rime\";"
+    echo "  repo = \"rime-$im\";"
+    nix-prefetch-git --quiet https://github.com/rime/rime-$im \
+        | jq '{ rev: .rev, sha256: .sha256 }' \
+        | jq -r 'to_entries | map("  \(.key) = \"\(.value)\";") | .[]'
+    echo "}} package/rime/$im"
+done
+echo \'\'
diff --git a/nixpkgs/pkgs/data/misc/shared-mime-info/default.nix b/nixpkgs/pkgs/data/misc/shared-mime-info/default.nix
index a2e301f40ecb..63b8467e6cc5 100644
--- a/nixpkgs/pkgs/data/misc/shared-mime-info/default.nix
+++ b/nixpkgs/pkgs/data/misc/shared-mime-info/default.nix
@@ -9,6 +9,7 @@
 , itstool
 , libxml2
 , glib
+, shared-mime-info
 }:
 
 stdenv.mkDerivation rec {
@@ -38,6 +39,9 @@ stdenv.mkDerivation rec {
     pkg-config
     gettext
     itstool
+  ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+    libxml2
+    shared-mime-info
   ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/data/misc/spdx-license-list-data/default.nix b/nixpkgs/pkgs/data/misc/spdx-license-list-data/default.nix
index f4ab4c058512..107d3804e620 100644
--- a/nixpkgs/pkgs/data/misc/spdx-license-list-data/default.nix
+++ b/nixpkgs/pkgs/data/misc/spdx-license-list-data/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, lib, fetchFromGitHub }:
+{ stdenvNoCC, lib, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
+stdenvNoCC.mkDerivation rec {
   pname = "spdx-license-list-data";
-  version = "3.12";
+  version = "3.13";
 
   src = fetchFromGitHub {
     owner = "spdx";
     repo = "license-list-data";
     rev = "v${version}";
-    sha256 = "09xci8dzblg3d30jf7s43zialbcxlxly03zrkiymcvnzixg8v48f";
+    sha256 = "184qfz8jifkd4jvqkdfmcgplf12cdx83gynb7mxzmkfg2xymlr0g";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/data/themes/canta/default.nix b/nixpkgs/pkgs/data/themes/canta/default.nix
index 431522fa85e8..f0a2339b3e63 100644
--- a/nixpkgs/pkgs/data/themes/canta/default.nix
+++ b/nixpkgs/pkgs/data/themes/canta/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "canta-theme";
-  version = "2020-05-17";
+  version = "2021-07-06";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
     rev = version;
-    sha256 = "0b9ffkw611xxb2wh43sjqla195jp0ygxph5a8dvifkxdw6nxc2y0";
+    sha256 = "sha256-dz78h9Qq25+/i6fmw/zGlPq3DVQB3ADYwehgaWReMQ8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/data/themes/flat-remix-gnome/default.nix b/nixpkgs/pkgs/data/themes/flat-remix-gnome/default.nix
new file mode 100644
index 000000000000..cff5f9115843
--- /dev/null
+++ b/nixpkgs/pkgs/data/themes/flat-remix-gnome/default.nix
@@ -0,0 +1,38 @@
+{ stdenv
+, fetchFromGitHub
+, glib
+, lib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "flat-remix-gnome";
+  version = "20210623";
+
+  src = fetchFromGitHub {
+    owner = "daniruiz";
+    repo = pname;
+    rev = version;
+    hash = "sha256-FKsbAvjhXb2ipe3XqACM6OwGYwbBbzvDjsUQYCIQ8NM=";
+  };
+
+  nativeBuildInputs = [ glib ];
+  makeFlags = [ "PREFIX=$(out)" ];
+  preInstall = ''
+    # make install will back up this file, it will fail if the file doesn't exist.
+    # https://github.com/daniruiz/flat-remix-gnome/blob/20210623/Makefile#L50
+    mkdir -p $out/share/gnome-shell/
+    touch $out/share/gnome-shell/gnome-shell-theme.gresource
+  '';
+
+  postInstall = ''
+    rm $out/share/gnome-shell/gnome-shell-theme.gresource.old
+  '';
+
+  meta = with lib; {
+    description = "GNOME Shell theme inspired by material design.";
+    homepage = "https://drasite.com/flat-remix-gnome";
+    license = licenses.cc-by-sa-40;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.vanilla ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/themes/materia-kde/default.nix b/nixpkgs/pkgs/data/themes/materia-kde/default.nix
index bdadebbf60d5..bf3b56ae6666 100644
--- a/nixpkgs/pkgs/data/themes/materia-kde/default.nix
+++ b/nixpkgs/pkgs/data/themes/materia-kde/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "materia-kde-theme";
-  version = "20210612";
+  version = "20210624";
 
   src = fetchFromGitHub {
     owner = "PapirusDevelopmentTeam";
     repo = "materia-kde";
     rev = version;
-    sha256 = "P76rLj7x4KpYb3hdHBSUM8X/RcxKoJl1THIXHdfPoAY=";
+    sha256 = "jmUJAWoQ/GVPNQOjlyZBg4rIIo+rhzr5imnCFAWOtrA=";
   };
 
   makeFlags = [ "PREFIX=$(out)" ];
diff --git a/nixpkgs/pkgs/desktops/cinnamon/bulky/default.nix b/nixpkgs/pkgs/desktops/cinnamon/bulky/default.nix
index 7797586f5abd..511cb6a1c092 100644
--- a/nixpkgs/pkgs/desktops/cinnamon/bulky/default.nix
+++ b/nixpkgs/pkgs/desktops/cinnamon/bulky/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bulky";
-  version = "1.4";
+  version = "1.7";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "bulky";
     rev = version;
-    sha256 = "sha256-i6OmkZGgZpfp8G2T6CDFQmIG/0V36YFbWBR7MvDi6Ew=";
+    sha256 = "sha256-+3OoeuGuyiHWlUrxm5A7CmNR+ijxdlmecmvqk+i+h08=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome/core/gnome-shell/default.nix b/nixpkgs/pkgs/desktops/gnome/core/gnome-shell/default.nix
index 41d2fac5e612..c1bd10ce2ea3 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/gnome-shell/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/gnome-shell/default.nix
@@ -66,13 +66,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "gnome-shell";
-  version = "40.1";
+  version = "40.2";
 
   outputs = [ "out" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-9j4r7Zm9iVjPMT2F9EoBjVn4UqBbqfKap8t0S+xvprc=";
+    sha256 = "sha256-Tp2CmwOfoK3TO7ZYP8e04Cjtjc/3r4pXfgnMZpiMKBw=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/desktops/gnome/default.nix b/nixpkgs/pkgs/desktops/gnome/default.nix
index b529a65026d7..ae2255acb911 100644
--- a/nixpkgs/pkgs/desktops/gnome/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/default.nix
@@ -339,8 +339,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   inherit (pkgs) gnome-user-docs; # added 2019-11-20
 
-  inherit (pkgs) gegl_0_4; # added 2019-10-31
-
   inherit (pkgs) gjs; # added 2019-01-05
 
   inherit (pkgs) yelp-tools; # added 2019-11-20
diff --git a/nixpkgs/pkgs/desktops/xfce/applications/xfce4-panel-profiles/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-panel-profiles/default.nix
new file mode 100644
index 000000000000..3c7f99f7d3ac
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-panel-profiles/default.nix
@@ -0,0 +1,29 @@
+{ mkXfceDerivation, lib, python3, intltool, gettext,
+ gtk3, libxfce4ui, libxfce4util, pango, harfbuzz, gdk-pixbuf, atk }:
+
+let
+  pythonEnv = python3.withPackages(ps: [ ps.pygobject3 ]);
+  makeTypelibPath = lib.makeSearchPathOutput "lib/girepository-1.0" "lib/girepository-1.0";
+in mkXfceDerivation {
+  category = "apps";
+  pname = "xfce4-panel-profiles";
+  version = "1.0.13";
+
+  sha256 = "sha256-B3Q5d3KBN5m8wY82CIbIugJC8nNS+OcgKchn+TGrDhc=";
+
+  nativeBuildInputs = [ intltool gettext ];
+  propagatedBuildInputs = [ pythonEnv ];
+
+  configurePhase = ''
+    ./configure --prefix=$out
+  '';
+
+  postFixup = ''
+    wrapProgram $out/bin/xfce4-panel-profiles \
+      --set GI_TYPELIB_PATH ${makeTypelibPath [ gtk3 libxfce4ui libxfce4util pango harfbuzz gdk-pixbuf atk ]}
+  '';
+
+  meta = {
+    description = "Simple application to manage Xfce panel layouts";
+  };
+}
diff --git a/nixpkgs/pkgs/desktops/xfce/default.nix b/nixpkgs/pkgs/desktops/xfce/default.nix
index c72d20b9d8f7..ccbeff5c37cb 100644
--- a/nixpkgs/pkgs/desktops/xfce/default.nix
+++ b/nixpkgs/pkgs/desktops/xfce/default.nix
@@ -93,6 +93,8 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   xfburn = callPackage ./applications/xfburn { };
 
+  xfce4-panel-profiles = callPackage ./applications/xfce4-panel-profiles { };
+
   #### ART
 
   xfce4-icon-theme = callPackage ./art/xfce4-icon-theme { };
diff --git a/nixpkgs/pkgs/development/arduino/arduino-cli/default.nix b/nixpkgs/pkgs/development/arduino/arduino-cli/default.nix
index 9629d90a3453..84c39dba9000 100644
--- a/nixpkgs/pkgs/development/arduino/arduino-cli/default.nix
+++ b/nixpkgs/pkgs/development/arduino/arduino-cli/default.nix
@@ -46,6 +46,10 @@ if stdenv.isLinux then
     extraInstallCommands = ''
       mv $out/bin/$name $out/bin/arduino-cli
     '';
+
+    targetPkgs = pkgs: with pkgs; [
+      zlib
+    ];
   }
 else
   pkg
diff --git a/nixpkgs/pkgs/development/beam-modules/default.nix b/nixpkgs/pkgs/development/beam-modules/default.nix
index 6c33298ff926..6cfa2721bfcd 100644
--- a/nixpkgs/pkgs/development/beam-modules/default.nix
+++ b/nixpkgs/pkgs/development/beam-modules/default.nix
@@ -38,6 +38,7 @@ let
       mixRelease = callPackage ./mix-release.nix { };
 
       erlang-ls = callPackage ./erlang-ls { };
+      erlfmt = callPackage ./erlfmt { };
 
       # BEAM-based languages.
       elixir = elixir_1_12;
diff --git a/nixpkgs/pkgs/development/beam-modules/erlfmt/default.nix b/nixpkgs/pkgs/development/beam-modules/erlfmt/default.nix
new file mode 100644
index 000000000000..c903906802e3
--- /dev/null
+++ b/nixpkgs/pkgs/development/beam-modules/erlfmt/default.nix
@@ -0,0 +1,20 @@
+{ fetchFromGitHub, rebar3Relx, lib }:
+
+rebar3Relx rec {
+  name = "erlfmt";
+  version = "1.0.0";
+  releaseType = "escript";
+  src = fetchFromGitHub {
+    owner = "WhatsApp";
+    repo = "erlfmt";
+    sha256 = "19apbs9xr4j8qjb3sv9ilknqjw4a7bvp8jvwrjiwvwnxzzm2kjm6";
+    rev = "v${version}";
+  };
+  meta = with lib; {
+    homepage = "https://github.com/WhatsApp/erlfmt";
+    description = "An automated code formatter for Erlang";
+    platforms = platforms.unix;
+    license = licenses.asl20;
+    maintainers = with lib.maintainers; [ dlesl ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/beam-modules/rebar3-nix/default.nix b/nixpkgs/pkgs/development/beam-modules/rebar3-nix/default.nix
index ff248700d783..50bd29658354 100644
--- a/nixpkgs/pkgs/development/beam-modules/rebar3-nix/default.nix
+++ b/nixpkgs/pkgs/development/beam-modules/rebar3-nix/default.nix
@@ -1,12 +1,12 @@
 { lib, buildRebar3, fetchFromGitHub }:
 buildRebar3 rec {
   name = "rebar3_nix";
-  version = "0.1.0";
+  version = "0.1.1";
   src = fetchFromGitHub {
     owner = "erlang-nix";
     repo = name;
     rev = "v${version}";
-    sha256 = "17w8m4aqqgvhpx3xyc7x2qzsrd3ybzc83ay50zs1gyd1b8csh2wf";
+    sha256 = "10ijc06qvv5hqv0qy3w7mbv9pshdb8bvy0f3phr1vd5hksbk731y";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/development/beam-modules/rebar3-release.nix b/nixpkgs/pkgs/development/beam-modules/rebar3-release.nix
index 98d10cb87c4f..16344f2f194c 100644
--- a/nixpkgs/pkgs/development/beam-modules/rebar3-release.nix
+++ b/nixpkgs/pkgs/development/beam-modules/rebar3-release.nix
@@ -93,10 +93,10 @@ let
       inherit (erlang.meta) platforms;
     } // meta;
 
-    passthru = {
+    passthru = ({
       packageName = name;
       env = shell self;
-   };
+    } // (if attrs ? passthru then attrs.passthru else {}));
   } // customPhases);
 in
   fix pkg
diff --git a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/sources.json b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/sources.json
index 22a893c72427..b4a8ff4892e2 100644
--- a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/sources.json
+++ b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/sources.json
@@ -5,45 +5,45 @@
         "hotspot": {
           "aarch64": {
             "build": "9",
-            "sha256": "420c5d1e5dc66b2ed7dedd30a7bdf94bfaed10d5e1b07dc579722bf60a8114a9",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.10%2B9/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.10_9.tar.gz",
-            "version": "11.0.10"
+            "sha256": "4966b0df9406b7041e14316e04c9579806832fafa02c5d3bd1842163b7f2353a",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.11%2B9/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.11_9.tar.gz",
+            "version": "11.0.11"
           },
           "armv6l": {
             "build": "9",
-            "sha256": "34908da9c200f5ef71b8766398b79fd166f8be44d87f97510667698b456c8d44",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.10%2B9/OpenJDK11U-jdk_arm_linux_hotspot_11.0.10_9.tar.gz",
-            "version": "11.0.10"
+            "sha256": "2d7aba0b9ea287145ad437d4b3035fc84f7508e78c6fec99be4ff59fe1b6fc0d",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.11%2B9/OpenJDK11U-jdk_arm_linux_hotspot_11.0.11_9.tar.gz",
+            "version": "11.0.11"
           },
           "armv7l": {
             "build": "9",
-            "sha256": "34908da9c200f5ef71b8766398b79fd166f8be44d87f97510667698b456c8d44",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.10%2B9/OpenJDK11U-jdk_arm_linux_hotspot_11.0.10_9.tar.gz",
-            "version": "11.0.10"
+            "sha256": "2d7aba0b9ea287145ad437d4b3035fc84f7508e78c6fec99be4ff59fe1b6fc0d",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.11%2B9/OpenJDK11U-jdk_arm_linux_hotspot_11.0.11_9.tar.gz",
+            "version": "11.0.11"
           },
           "packageType": "jdk",
           "vmType": "hotspot",
           "x86_64": {
             "build": "9",
-            "sha256": "ae78aa45f84642545c01e8ef786dfd700d2226f8b12881c844d6a1f71789cb99",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.10%2B9/OpenJDK11U-jdk_x64_linux_hotspot_11.0.10_9.tar.gz",
-            "version": "11.0.10"
+            "sha256": "e99b98f851541202ab64401594901e583b764e368814320eba442095251e78cb",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.11%2B9/OpenJDK11U-jdk_x64_linux_hotspot_11.0.11_9.tar.gz",
+            "version": "11.0.11"
           }
         },
         "openj9": {
           "aarch64": {
             "build": "9",
-            "sha256": "0ce9a8c38d154540610dfe03e59389734deb91c5cb9258408404c5026d4afa41",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.10%2B9_openj9-0.24.0/OpenJDK11U-jdk_aarch64_linux_openj9_11.0.10_9_openj9-0.24.0.tar.gz",
-            "version": "11.0.10-ea"
+            "sha256": "31242e10bb826679aae3ed303be17ad3ef3c2551afbbd19f031ada87dd73258f",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.11%2B9_openj9-0.26.0/OpenJDK11U-jdk_aarch64_linux_openj9_11.0.11_9_openj9-0.26.0.tar.gz",
+            "version": "11.0.11-ea"
           },
           "packageType": "jdk",
           "vmType": "openj9",
           "x86_64": {
             "build": "9",
-            "sha256": "941d5df125d2ad426391340f539408b13d61d00ed31dd79142ff1ac84864a79f",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.10%2B9_openj9-0.24.0/OpenJDK11U-jdk_x64_linux_openj9_11.0.10_9_openj9-0.24.0.tar.gz",
-            "version": "11.0.10"
+            "sha256": "a605ab06f76533d44ce0828bd96836cc9c0e71ec3df3f8672052ea98dcbcca22",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.11%2B9_openj9-0.26.0/OpenJDK11U-jdk_x64_linux_openj9_11.0.11_9_openj9-0.26.0.tar.gz",
+            "version": "11.0.11"
           }
         }
       },
@@ -51,45 +51,45 @@
         "hotspot": {
           "aarch64": {
             "build": "9",
-            "sha256": "5f9a894bd694f598f2befa4a605169685ac8bcb8ec68d25e587e8db4d2307b74",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.10%2B9/OpenJDK11U-jre_aarch64_linux_hotspot_11.0.10_9.tar.gz",
-            "version": "11.0.10"
+            "sha256": "fde6b29df23b6e7ed6e16a237a0f44273fb9e267fdfbd0b3de5add98e55649f6",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.11%2B9/OpenJDK11U-jre_aarch64_linux_hotspot_11.0.11_9.tar.gz",
+            "version": "11.0.11"
           },
           "armv6l": {
             "build": "9",
-            "sha256": "2f2da2149c089c84f00b0eda63c31b77c8b51a1c080e18a70ecb5a78ba40d8c6",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.10%2B9/OpenJDK11U-jre_arm_linux_hotspot_11.0.10_9.tar.gz",
-            "version": "11.0.10"
+            "sha256": "ad02656f800fd64c2b090b23ad24a099d9cd1054948ecb0e9851bc39c51c8be8",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.11%2B9/OpenJDK11U-jre_arm_linux_hotspot_11.0.11_9.tar.gz",
+            "version": "11.0.11"
           },
           "armv7l": {
             "build": "9",
-            "sha256": "2f2da2149c089c84f00b0eda63c31b77c8b51a1c080e18a70ecb5a78ba40d8c6",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.10%2B9/OpenJDK11U-jre_arm_linux_hotspot_11.0.10_9.tar.gz",
-            "version": "11.0.10"
+            "sha256": "ad02656f800fd64c2b090b23ad24a099d9cd1054948ecb0e9851bc39c51c8be8",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.11%2B9/OpenJDK11U-jre_arm_linux_hotspot_11.0.11_9.tar.gz",
+            "version": "11.0.11"
           },
           "packageType": "jre",
           "vmType": "hotspot",
           "x86_64": {
             "build": "9",
-            "sha256": "25fdcf9427095ac27c8bdfc82096ad2e615693a3f6ea06c700fca7ffb271131a",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.10%2B9/OpenJDK11U-jre_x64_linux_hotspot_11.0.10_9.tar.gz",
-            "version": "11.0.10"
+            "sha256": "144f2c6bcf64faa32016f2474b6c01031be75d25325e9c3097aed6589bc5d548",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.11%2B9/OpenJDK11U-jre_x64_linux_hotspot_11.0.11_9.tar.gz",
+            "version": "11.0.11"
           }
         },
         "openj9": {
           "aarch64": {
             "build": "9",
-            "sha256": "c48d2b19bf7040c74dfdcac9e395ba7b8f937522ee756c820465f2e8e3dffec2",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.10%2B9_openj9-0.24.0/OpenJDK11U-jre_aarch64_linux_openj9_11.0.10_9_openj9-0.24.0.tar.gz",
-            "version": "11.0.10-ea"
+            "sha256": "434219d233bdb8f1bee024b1ca5accfc3f1f832320b5221ded715eed101e705f",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.11%2B9_openj9-0.26.0/OpenJDK11U-jre_aarch64_linux_openj9_11.0.11_9_openj9-0.26.0.tar.gz",
+            "version": "11.0.11-ea"
           },
           "packageType": "jre",
           "vmType": "openj9",
           "x86_64": {
             "build": "9",
-            "sha256": "7e5f97071f8b86c22c36ddfd7f821c3e8ec531c1128e2e6c931b2e64118a517a",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.10%2B9_openj9-0.24.0/OpenJDK11U-jre_x64_linux_openj9_11.0.10_9_openj9-0.24.0.tar.gz",
-            "version": "11.0.10"
+            "sha256": "152bf992d965ed018e9e1c3c2eb2c1771f92e0b6485b9a1f2c6d84d282117715",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.11%2B9_openj9-0.26.0/OpenJDK11U-jre_x64_linux_openj9_11.0.11_9_openj9-0.26.0.tar.gz",
+            "version": "11.0.11"
           }
         }
       }
@@ -101,9 +101,9 @@
           "vmType": "hotspot",
           "x86_64": {
             "build": "9",
-            "sha256": "ee7c98c9d79689aca6e717965747b8bf4eec5413e89d5444cc2bd6dbd59e3811",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.10%2B9/OpenJDK11U-jdk_x64_mac_hotspot_11.0.10_9.tar.gz",
-            "version": "11.0.10"
+            "sha256": "d851a220e77473a4b483d8bd6b6570e04fd83fdd48d6584b58b041f5997186c2",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.11%2B9/OpenJDK11U-jdk_x64_mac_hotspot_11.0.11_9.tar.gz",
+            "version": "11.0.11"
           }
         },
         "openj9": {
@@ -111,9 +111,9 @@
           "vmType": "openj9",
           "x86_64": {
             "build": "9",
-            "sha256": "58f931dc30160b04da2d94af32e0dfa384f4b2cf92b7217c0937fd057e668d54",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.10%2B9_openj9-0.24.0/OpenJDK11U-jdk_x64_mac_openj9_11.0.10_9_openj9-0.24.0.tar.gz",
-            "version": "11.0.10"
+            "sha256": "797cee6b9f6e18bcc026ee9dcebbce81d62ca897038402d247630b25d41efe15",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.11%2B9_openj9-0.26.0/OpenJDK11U-jdk_x64_mac_openj9_11.0.11_9_openj9-0.26.0.tar.gz",
+            "version": "11.0.11"
           }
         }
       },
@@ -123,9 +123,9 @@
           "vmType": "hotspot",
           "x86_64": {
             "build": "9",
-            "sha256": "215e94323d7c74fe31e5383261e3bfc8e9ca3dc03212738c48d29868b02fe875",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.10%2B9/OpenJDK11U-jre_x64_mac_hotspot_11.0.10_9.tar.gz",
-            "version": "11.0.10"
+            "sha256": "ccb38c0b73bd0ba7006d00234a51eee9504ec8108c835e1f1763191806374707",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.11%2B9/OpenJDK11U-jre_x64_mac_hotspot_11.0.11_9.tar.gz",
+            "version": "11.0.11"
           }
         },
         "openj9": {
@@ -133,9 +133,9 @@
           "vmType": "openj9",
           "x86_64": {
             "build": "9",
-            "sha256": "6e353f0b38a7192ad3e0522009065c7c24356e0d9329899477b21e39d2a7a8da",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.10%2B9_openj9-0.24.0/OpenJDK11U-jre_x64_mac_openj9_11.0.10_9_openj9-0.24.0.tar.gz",
-            "version": "11.0.10"
+            "sha256": "80a0c03f0b603d6008e29c651f884878743fcaa90fc05aef15f3411749da94e7",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.11%2B9_openj9-0.26.0/OpenJDK11U-jre_x64_mac_openj9_11.0.11_9_openj9-0.26.0.tar.gz",
+            "version": "11.0.11"
           }
         }
       }
@@ -536,92 +536,92 @@
       "jdk": {
         "hotspot": {
           "aarch64": {
-            "build": "36",
-            "sha256": "7217a9f9be3b0c8dfc78538f95fd2deb493eb651152d975062920566492b2574",
-            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16%2B36/OpenJDK16-jdk_aarch64_linux_hotspot_16_36.tar.gz",
-            "version": "16.0.0"
+            "build": "9",
+            "sha256": "3447ec27a6dbd4f3a6180a0d4371bb09aa428c16eea9983e515a7400cc9f5c85",
+            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16.0.1%2B9/OpenJDK16U-jdk_aarch64_linux_hotspot_16.0.1_9.tar.gz",
+            "version": "16.0.1"
           },
           "armv6l": {
-            "build": "36",
-            "sha256": "f1d32ba01a40c98889f31368c0e987d6bbda65a7c50b8c088623b48e3a90104a",
-            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16%2B36/OpenJDK16-jdk_arm_linux_hotspot_16_36.tar.gz",
-            "version": "16.0.0"
+            "build": "9",
+            "sha256": "20fc395d8ea2659e6407cd4ec233dc4399f61b7610f3a16495deb23c1e3b81df",
+            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16.0.1%2B9/OpenJDK16U-jdk_arm_linux_hotspot_16.0.1_9.tar.gz",
+            "version": "16.0.1"
           },
           "armv7l": {
-            "build": "36",
-            "sha256": "f1d32ba01a40c98889f31368c0e987d6bbda65a7c50b8c088623b48e3a90104a",
-            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16%2B36/OpenJDK16-jdk_arm_linux_hotspot_16_36.tar.gz",
-            "version": "16.0.0"
+            "build": "9",
+            "sha256": "20fc395d8ea2659e6407cd4ec233dc4399f61b7610f3a16495deb23c1e3b81df",
+            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16.0.1%2B9/OpenJDK16U-jdk_arm_linux_hotspot_16.0.1_9.tar.gz",
+            "version": "16.0.1"
           },
           "packageType": "jdk",
           "vmType": "hotspot",
           "x86_64": {
-            "build": "36",
-            "sha256": "2e031cf37018161c9e59b45fa4b98ff2ce4ce9297b824c512989d579a70f8422",
-            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16%2B36/OpenJDK16-jdk_x64_linux_hotspot_16_36.tar.gz",
-            "version": "16.0.0"
+            "build": "9",
+            "sha256": "7fdda042207efcedd30cd76d6295ed56b9c2e248cb3682c50898a560d4aa1c6f",
+            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16.0.1%2B9/OpenJDK16U-jdk_x64_linux_hotspot_16.0.1_9.tar.gz",
+            "version": "16.0.1"
           }
         },
         "openj9": {
           "aarch64": {
-            "build": "36",
-            "sha256": "f4d4e0c0e9e0a4d0f14172878cee5e1a0ae73170058e1c183a452f8d97331ac0",
-            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16%2B36_openj9-0.25.0/OpenJDK16-jdk_aarch64_linux_openj9_16_36_openj9-0.25.0.tar.gz",
-            "version": "16.0.0-ea"
+            "build": "9",
+            "sha256": "abc56cd266b4acc96cc700b166ad016907dac97d7a593bd5c369d54efc4b4acd",
+            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16.0.1%2B9_openj9-0.26.0/OpenJDK16U-jdk_aarch64_linux_openj9_16.0.1_9_openj9-0.26.0.tar.gz",
+            "version": "16.0.1-ea"
           },
           "packageType": "jdk",
           "vmType": "openj9",
           "x86_64": {
-            "build": "36",
-            "sha256": "9f9b327d08cbc71b32f28004ae9d9c2c84ff9bc335cac3068c5a5737bfa4606f",
-            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16%2B36_openj9-0.25.0/OpenJDK16-jdk_x64_linux_openj9_16_36_openj9-0.25.0.tar.gz",
-            "version": "16.0.0"
+            "build": "9",
+            "sha256": "7395aaa479a7410bbe5bd5efc43d2669718c61ba146b06657315dbd467b98bf1",
+            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16.0.1%2B9_openj9-0.26.0/OpenJDK16U-jdk_x64_linux_openj9_16.0.1_9_openj9-0.26.0.tar.gz",
+            "version": "16.0.1"
           }
         }
       },
       "jre": {
         "hotspot": {
           "aarch64": {
-            "build": "36",
-            "sha256": "947b02342513b085946b2e7c376cc1f1cfe89600bc3d30455160f88d41da3509",
-            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16%2B36/OpenJDK16-jre_aarch64_linux_hotspot_16_36.tar.gz",
-            "version": "16.0.0"
+            "build": "9",
+            "sha256": "4e47f1cbf46190727be74cd73445ec2b693f5ba4a74542c554d6b3285811cab5",
+            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16.0.1%2B9/OpenJDK16U-jre_aarch64_linux_hotspot_16.0.1_9.tar.gz",
+            "version": "16.0.1"
           },
           "armv6l": {
-            "build": "36",
-            "sha256": "4d3f351a161792779417ee2730413a976258c4cc5f323526f1fbc0cca82aca6e",
-            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16%2B36/OpenJDK16-jre_arm_linux_hotspot_16_36.tar.gz",
-            "version": "16.0.0"
+            "build": "9",
+            "sha256": "c1f88f3ce955cb2e9a4236a916cc6660ef55231d29c4390b1a4398ebbca358b7",
+            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16.0.1%2B9/OpenJDK16U-jre_arm_linux_hotspot_16.0.1_9.tar.gz",
+            "version": "16.0.1"
           },
           "armv7l": {
-            "build": "36",
-            "sha256": "4d3f351a161792779417ee2730413a976258c4cc5f323526f1fbc0cca82aca6e",
-            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16%2B36/OpenJDK16-jre_arm_linux_hotspot_16_36.tar.gz",
-            "version": "16.0.0"
+            "build": "9",
+            "sha256": "c1f88f3ce955cb2e9a4236a916cc6660ef55231d29c4390b1a4398ebbca358b7",
+            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16.0.1%2B9/OpenJDK16U-jre_arm_linux_hotspot_16.0.1_9.tar.gz",
+            "version": "16.0.1"
           },
           "packageType": "jre",
           "vmType": "hotspot",
           "x86_64": {
-            "build": "36",
-            "sha256": "4aa99cbe5a6838c3ed29fa7aa7bee95c39ddd41e3f7544178dcd257b15a9359e",
-            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16%2B36/OpenJDK16-jre_x64_linux_hotspot_16_36.tar.gz",
-            "version": "16.0.0"
+            "build": "9",
+            "sha256": "5eca19d406c6d130e9c3a4b932b9cb0a6e9cd45932450668c3e911bded4bcf40",
+            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16.0.1%2B9/OpenJDK16U-jre_x64_linux_hotspot_16.0.1_9.tar.gz",
+            "version": "16.0.1"
           }
         },
         "openj9": {
           "aarch64": {
-            "build": "36",
-            "sha256": "13ae42f5040d4e5d97b8809e27ebfdf8f7326604771963d85b2c1385abe13742",
-            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16%2B36_openj9-0.25.0/OpenJDK16-jre_aarch64_linux_openj9_16_36_openj9-0.25.0.tar.gz",
-            "version": "16.0.0-ea"
+            "build": "9",
+            "sha256": "01d8337d1069b8bfdcdf096b30cc24d1df42ffeede676da99fed77bef2670454",
+            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16.0.1%2B9_openj9-0.26.0/OpenJDK16U-jre_aarch64_linux_openj9_16.0.1_9_openj9-0.26.0.tar.gz",
+            "version": "16.0.1-ea"
           },
           "packageType": "jre",
           "vmType": "openj9",
           "x86_64": {
-            "build": "36",
-            "sha256": "302b8b9bba4f51d0a9ac087ed91929dbd3ae52cf5a5b6c150373563012db60d9",
-            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16%2B36_openj9-0.25.0/OpenJDK16-jre_x64_linux_openj9_16_36_openj9-0.25.0.tar.gz",
-            "version": "16.0.0"
+            "build": "9",
+            "sha256": "fab572dd1a2ef00fd18ad4f5a4c373d0cf140045e61f9104cd5b8dbf6b3a517d",
+            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16.0.1%2B9_openj9-0.26.0/OpenJDK16U-jre_x64_linux_openj9_16.0.1_9_openj9-0.26.0.tar.gz",
+            "version": "16.0.1"
           }
         }
       }
@@ -632,20 +632,20 @@
           "packageType": "jdk",
           "vmType": "hotspot",
           "x86_64": {
-            "build": "36",
-            "sha256": "b66761b55fd493ed2a5f4df35a32b338ec34a9e0a1244439e3156561ab27c511",
-            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16%2B36/OpenJDK16-jdk_x64_mac_hotspot_16_36.tar.gz",
-            "version": "16.0.0"
+            "build": "9",
+            "sha256": "3be78eb2b0bf0a6edef2a8f543958d6e249a70c71e4d7347f9edb831135a16b8",
+            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16.0.1%2B9/OpenJDK16U-jdk_x64_mac_hotspot_16.0.1_9.tar.gz",
+            "version": "16.0.1"
           }
         },
         "openj9": {
           "packageType": "jdk",
           "vmType": "openj9",
           "x86_64": {
-            "build": "36",
-            "sha256": "e6075cbe939b4de165cc8b4b91352f8885d549873f5cd419e75eba737502542e",
-            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16%2B36_openj9-0.25.0/OpenJDK16-jdk_x64_mac_openj9_16_36_openj9-0.25.0.tar.gz",
-            "version": "16.0.0"
+            "build": "9",
+            "sha256": "6d4241c6ede2167fb71bd57f7a770a74564ee007c06bcae98e1abc3c1de4756f",
+            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16.0.1%2B9_openj9-0.26.0/OpenJDK16U-jdk_x64_mac_openj9_16.0.1_9_openj9-0.26.0.tar.gz",
+            "version": "16.0.1"
           }
         }
       },
@@ -654,20 +654,20 @@
           "packageType": "jre",
           "vmType": "hotspot",
           "x86_64": {
-            "build": "36",
-            "sha256": "92cb07e9e9d075996d1a9e0ccfc1d35e6f97f7e188e9bb78088ee1066062a428",
-            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16%2B36/OpenJDK16-jre_x64_mac_hotspot_16_36.tar.gz",
-            "version": "16.0.0"
+            "build": "9",
+            "sha256": "33eeccbeea75e70b09610ba12e9591386a0e42248525b8358c9ae683bce82779",
+            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16.0.1%2B9/OpenJDK16U-jre_x64_mac_hotspot_16.0.1_9.tar.gz",
+            "version": "16.0.1"
           }
         },
         "openj9": {
           "packageType": "jre",
           "vmType": "openj9",
           "x86_64": {
-            "build": "36",
-            "sha256": "9e5c31582778ca5c08fc221e185dc0f4dbce2091cbc69966a1e2617344b722f1",
-            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16%2B36_openj9-0.25.0/OpenJDK16-jre_x64_mac_openj9_16_36_openj9-0.25.0.tar.gz",
-            "version": "16.0.0"
+            "build": "9",
+            "sha256": "f57a6f04cf21a8470bb6f9488c57031d89db73c8b24997d74812855372f4e6b8",
+            "url": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16.0.1%2B9_openj9-0.26.0/OpenJDK16U-jre_x64_mac_openj9_16.0.1_9_openj9-0.26.0.tar.gz",
+            "version": "16.0.1"
           }
         }
       }
@@ -678,92 +678,92 @@
       "jdk": {
         "hotspot": {
           "aarch64": {
-            "build": "8",
-            "sha256": "9c07cf2099bbc6c850c46fd870bd243f5fcb6635181eabb312bdffe43ffc5080",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u282-b08/OpenJDK8U-jdk_aarch64_linux_hotspot_jdk8u282-b08.tar.gz",
-            "version": "8.0.282"
+            "build": "10",
+            "sha256": "a29edaf66221f7a51353d3f28e1ecf4221268848260417bc562d797e514082a8",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10/OpenJDK8U-jdk_aarch64_linux_hotspot_8u292b10.tar.gz",
+            "version": "8.0.292"
           },
           "armv6l": {
-            "build": "1",
-            "sha256": "e2e41a8705061dfcc766bfb6b7edd4c699e94aac68e4deeb28c8e76734a46fb7",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u275-b01/OpenJDK8U-jdk_arm_linux_hotspot_8u275b01.tar.gz",
-            "version": "8.0.275"
+            "build": "10",
+            "sha256": "0de107b7df38314c1daab78571383b8b39fdc506790aaef5d870b3e70048881b",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10/OpenJDK8U-jdk_arm_linux_hotspot_8u292b10.tar.gz",
+            "version": "8.0.292"
           },
           "armv7l": {
-            "build": "1",
-            "sha256": "e2e41a8705061dfcc766bfb6b7edd4c699e94aac68e4deeb28c8e76734a46fb7",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u275-b01/OpenJDK8U-jdk_arm_linux_hotspot_8u275b01.tar.gz",
-            "version": "8.0.275"
+            "build": "10",
+            "sha256": "0de107b7df38314c1daab78571383b8b39fdc506790aaef5d870b3e70048881b",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10/OpenJDK8U-jdk_arm_linux_hotspot_8u292b10.tar.gz",
+            "version": "8.0.292"
           },
           "packageType": "jdk",
           "vmType": "hotspot",
           "x86_64": {
-            "build": "8",
-            "sha256": "e6e6e0356649b9696fa5082cfcb0663d4bef159fc22d406e3a012e71fce83a5c",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u282-b08/OpenJDK8U-jdk_x64_linux_hotspot_8u282b08.tar.gz",
-            "version": "8.0.282"
+            "build": "10",
+            "sha256": "0949505fcf42a1765558048451bb2a22e84b3635b1a31dd6191780eeccaa4ada",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10/OpenJDK8U-jdk_x64_linux_hotspot_8u292b10.tar.gz",
+            "version": "8.0.292"
           }
         },
         "openj9": {
           "aarch64": {
-            "build": "8",
-            "sha256": "e107d3b8092f71ee042284b0fc0f0430ef214916812ce02aa6d549aa81b6dc70",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u282-b08_openj9-0.24.0/OpenJDK8U-jdk_aarch64_linux_openj9_8u282b08_openj9-0.24.0.tar.gz",
-            "version": "8.0.282-ea"
+            "build": "10",
+            "sha256": "b168245ddc18b85135c15ed6baea5cbcc06192b49af04dcfa698458373efc061",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10_openj9-0.26.0/OpenJDK8U-jdk_aarch64_linux_openj9_8u292b10_openj9-0.26.0.tar.gz",
+            "version": "8.0.292-ea"
           },
           "packageType": "jdk",
           "vmType": "openj9",
           "x86_64": {
-            "build": "8",
-            "sha256": "ef10c776dccdff02da6222002a3c023c1cc47d50dd1f6f81314da3d1fe28d13e",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u282-b08_openj9-0.24.0/OpenJDK8U-jdk_x64_linux_openj9_8u282b08_openj9-0.24.0.tar.gz",
-            "version": "8.0.282"
+            "build": "10",
+            "sha256": "06d6c9421778575cf59d50f69b7ac6a7bb237485b3a3c2f89cfb61a056c7b2de",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10_openj9-0.26.0/OpenJDK8U-jdk_x64_linux_openj9_8u292b10_openj9-0.26.0.tar.gz",
+            "version": "8.0.292"
           }
         }
       },
       "jre": {
         "hotspot": {
           "aarch64": {
-            "build": "8",
-            "sha256": "5ffa116636b90bac486faba2882a2121aca1398a5426ef3e4ad0d913985e680d",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u282-b08/OpenJDK8U-jre_aarch64_linux_hotspot_jdk8u282-b08.tar.gz",
-            "version": "8.0.282"
+            "build": "10",
+            "sha256": "b062ec775e6c2961532d9afeae4027fe3ac2cf4344cbc912a401be5bfb6ca221",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10/OpenJDK8U-jre_aarch64_linux_hotspot_8u292b10.tar.gz",
+            "version": "8.0.292"
           },
           "armv6l": {
-            "build": "1",
-            "sha256": "2e228d39d00ba8d974fd8ccdaaee0225833e79594251b64c724485c4fc94870f",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u275-b01/OpenJDK8U-jre_arm_linux_hotspot_8u275b01.tar.gz",
-            "version": "8.0.275"
+            "build": "10",
+            "sha256": "7f7707a7a3998737d2221080ea65d50ea96f5dde5226961ebcebd3ec99a82a32",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10/OpenJDK8U-jre_arm_linux_hotspot_8u292b10.tar.gz",
+            "version": "8.0.292"
           },
           "armv7l": {
-            "build": "1",
-            "sha256": "2e228d39d00ba8d974fd8ccdaaee0225833e79594251b64c724485c4fc94870f",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u275-b01/OpenJDK8U-jre_arm_linux_hotspot_8u275b01.tar.gz",
-            "version": "8.0.275"
+            "build": "10",
+            "sha256": "7f7707a7a3998737d2221080ea65d50ea96f5dde5226961ebcebd3ec99a82a32",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10/OpenJDK8U-jre_arm_linux_hotspot_8u292b10.tar.gz",
+            "version": "8.0.292"
           },
           "packageType": "jre",
           "vmType": "hotspot",
           "x86_64": {
-            "build": "8",
-            "sha256": "3b2e2c6ad3ee04a58ffb8d629e3e242b0ae87b38cfd06425e4446b1f9490f521",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u282-b08/OpenJDK8U-jre_x64_linux_hotspot_8u282b08.tar.gz",
-            "version": "8.0.282"
+            "build": "10",
+            "sha256": "cad66f48f90167ed19030c71f8f0580702c43cce5ce5a0d76833f7a5ae7c402a",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10/OpenJDK8U-jre_x64_linux_hotspot_8u292b10.tar.gz",
+            "version": "8.0.292"
           }
         },
         "openj9": {
           "aarch64": {
-            "build": "8",
-            "sha256": "1ffc7ac14546ee5e16e0efd616073baaf1b80f55abf61257095f132ded9da1e5",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u282-b08_openj9-0.24.0/OpenJDK8U-jre_aarch64_linux_openj9_8u282b08_openj9-0.24.0.tar.gz",
-            "version": "8.0.282-ea"
+            "build": "10",
+            "sha256": "f87f90673e25c3ce9e868e96a6059b22665f12d05e389813f75dfbc95d970393",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10_openj9-0.26.0/OpenJDK8U-jre_aarch64_linux_openj9_8u292b10_openj9-0.26.0.tar.gz",
+            "version": "8.0.292-ea"
           },
           "packageType": "jre",
           "vmType": "openj9",
           "x86_64": {
-            "build": "8",
-            "sha256": "4fad259c32eb23ec98925c8b2cf28aaacbdb55e034db74c31a7636e75b6af08d",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u282-b08_openj9-0.24.0/OpenJDK8U-jre_x64_linux_openj9_8u282b08_openj9-0.24.0.tar.gz",
-            "version": "8.0.282"
+            "build": "10",
+            "sha256": "6d5b67979e0935febe893895b622647bf8a59df6093ae57074db11d2ac9373ea",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10_openj9-0.26.0/OpenJDK8U-jre_x64_linux_openj9_8u292b10_openj9-0.26.0.tar.gz",
+            "version": "8.0.292"
           }
         }
       }
@@ -774,20 +774,20 @@
           "packageType": "jdk",
           "vmType": "hotspot",
           "x86_64": {
-            "build": "8",
-            "sha256": "1766d756f6e4a5d41b539f2ecf83e5a33e9336bd75f1602e8f4b4afbb8f47aaa",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u282-b08/OpenJDK8U-jdk_x64_mac_hotspot_8u282b08.tar.gz",
-            "version": "8.0.282"
+            "build": "10",
+            "sha256": "5646fbe9e4138c902c910bb7014d41463976598097ad03919e4848634c7e8007",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10/OpenJDK8U-jdk_x64_mac_hotspot_8u292b10.tar.gz",
+            "version": "8.0.292"
           }
         },
         "openj9": {
           "packageType": "jdk",
           "vmType": "openj9",
           "x86_64": {
-            "build": "8",
-            "sha256": "265d4fb01b61ed7a3a9fae6a50bcf6322687b5f08de8598d8e42263cbd8b5772",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u282-b08_openj9-0.24.0/OpenJDK8U-jdk_x64_mac_openj9_8u282b08_openj9-0.24.0.tar.gz",
-            "version": "8.0.282"
+            "build": "10",
+            "sha256": "d262bc226895e80b7e80d61905e65fe043ca0a3e3b930f7b88ddfacb8835e939",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10_openj9-0.26.0/OpenJDK8U-jdk_x64_mac_openj9_8u292b10_openj9-0.26.0.tar.gz",
+            "version": "8.0.292"
           }
         }
       },
@@ -796,20 +796,20 @@
           "packageType": "jre",
           "vmType": "hotspot",
           "x86_64": {
-            "build": "8",
-            "sha256": "9e7a40d570d5151aae23a2fb017359248f5fb82c547c3ecd860c992770228afb",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u282-b08/OpenJDK8U-jre_x64_mac_hotspot_8u282b08.tar.gz",
-            "version": "8.0.282"
+            "build": "10",
+            "sha256": "bfe1cecf686b4d129594916b0f10d98b71c8d2caec1b96bbbee7f40aa053f1c8",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10/OpenJDK8U-jre_x64_mac_hotspot_8u292b10.tar.gz",
+            "version": "8.0.292"
           }
         },
         "openj9": {
           "packageType": "jre",
           "vmType": "openj9",
           "x86_64": {
-            "build": "8",
-            "sha256": "884aa20b3aaed504b18ee21575c8da20838f80fb96036e78e70ff6ef613a5283",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u282-b08_openj9-0.24.0/OpenJDK8U-jre_x64_mac_openj9_8u282b08_openj9-0.24.0.tar.gz",
-            "version": "8.0.282"
+            "build": "10",
+            "sha256": "50cbc5ef48d0167d649d3ba2c2b8d71553541bffb98914418f4a26e0c5f69aca",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10_openj9-0.26.0/OpenJDK8U-jre_x64_mac_openj9_8u292b10_openj9-0.26.0.tar.gz",
+            "version": "8.0.292"
           }
         }
       }
diff --git a/nixpkgs/pkgs/development/compilers/chicken/5/chicken.nix b/nixpkgs/pkgs/development/compilers/chicken/5/chicken.nix
index eb2ec5cbe33b..136140359f0a 100644
--- a/nixpkgs/pkgs/development/compilers/chicken/5/chicken.nix
+++ b/nixpkgs/pkgs/development/compilers/chicken/5/chicken.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
     for f in $out/bin/*
     do
       wrapProgram $f \
-        --prefix PATH : ${stdenv.cc}/bin
+        --prefix PATH : ${lib.makeBinPath [ stdenv.cc ]}
     done
   '';
 
diff --git a/nixpkgs/pkgs/development/compilers/gleam/default.nix b/nixpkgs/pkgs/development/compilers/gleam/default.nix
index 5c88be00ba8f..af8758997ea3 100644
--- a/nixpkgs/pkgs/development/compilers/gleam/default.nix
+++ b/nixpkgs/pkgs/development/compilers/gleam/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gleam";
-  version = "0.16.0";
+  version = "0.16.1";
 
   src = fetchFromGitHub {
     owner = "gleam-lang";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-QcJudP4zhtY1CxV3XLkiC06hrKOqlLdb+X6lHvqc7ZA=";
+    sha256 = "sha256-JivBYBhXTti285pO4HNhalj0WeR/Hly3IjxpA+qauWY=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ] ++
     lib.optionals stdenv.isDarwin [ Security libiconv ];
 
-  cargoSha256 = "sha256-een2aI6gDVx450mQcwF1uRG/tn9FzahTMWpPdvUBumE=";
+  cargoSha256 = "sha256-SemHpvZ0lMqyMcgHPnmqI4C1krAJMM0hKCNNVMrulfI=";
 
   meta = with lib; {
     description = "A statically typed language for the Erlang VM";
diff --git a/nixpkgs/pkgs/development/compilers/jrsonnet/default.nix b/nixpkgs/pkgs/development/compilers/jrsonnet/default.nix
index 82e15db66858..a8b4a76b7dea 100644
--- a/nixpkgs/pkgs/development/compilers/jrsonnet/default.nix
+++ b/nixpkgs/pkgs/development/compilers/jrsonnet/default.nix
@@ -2,20 +2,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "jrsonnet";
-  version = "0.3.8";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "CertainLach";
     repo = "jrsonnet";
-    sha256 = "sha256-u6P/j7j6S7iPQQh00YFtp2G9Kt4xdWJGsxbuBjvHHZ4=";
+    sha256 = "sha256-vDZpb5Z8XOVc6EJ1Nul07kC8ppqcGzKPb4DEarqq2yg=";
   };
 
   postInstall = ''
     ln -s $out/bin/jrsonnet $out/bin/jsonnet
   '';
 
-  cargoSha256 = "sha256-KGQ3n3BBgLCT3ITIM8p9AxNa62ek4GHymqoD0eQSVKQ=";
+  cargoSha256 = "sha256-SR3m2meW8mTaxiYgeY/m7HFPrHGVtium/VRU6vWKxys=";
 
   meta = {
     description = "Purely-functional configuration language that helps you define JSON data";
diff --git a/nixpkgs/pkgs/development/compilers/jsonnet/default.nix b/nixpkgs/pkgs/development/compilers/jsonnet/default.nix
index be03f53a76ee..e85404c58b55 100644
--- a/nixpkgs/pkgs/development/compilers/jsonnet/default.nix
+++ b/nixpkgs/pkgs/development/compilers/jsonnet/default.nix
@@ -1,8 +1,9 @@
-{ stdenv, lib, fetchFromGitHub }:
+{ stdenv, lib, jekyll, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
   pname = "jsonnet";
   version = "0.17.0";
+  outputs = ["out" "doc"];
 
   src = fetchFromGitHub {
     rev = "v${version}";
@@ -11,6 +12,8 @@ stdenv.mkDerivation rec {
     sha256 = "1ddz14699v5lqx3dh0mb7hfffr6fk5zhmzn3z8yxkqqvriqnciim";
   };
 
+  nativeBuildInputs = [ jekyll ];
+
   enableParallelBuilding = true;
 
   makeFlags = [
@@ -19,12 +22,19 @@ stdenv.mkDerivation rec {
     "libjsonnet.so"
   ];
 
+  # Upstream writes documentation in html, not in markdown/rst, so no
+  # other output formats, sorry.
+  preBuild = ''
+    jekyll build --source ./doc --destination ./html
+  '';
+
   installPhase = ''
-    mkdir -p $out/bin $out/lib $out/include
+    mkdir -p $out/bin $out/lib $out/include $out/share/doc/jsonnet
     cp jsonnet $out/bin/
     cp jsonnetfmt $out/bin/
     cp libjsonnet*.so $out/lib/
     cp -a include/*.h $out/include/
+    cp -r ./html $out/share/doc/jsonnet
   '';
 
   meta = {
diff --git a/nixpkgs/pkgs/development/compilers/koka/default.nix b/nixpkgs/pkgs/development/compilers/koka/default.nix
index 30e273271ae3..0b88bc1ab1c9 100644
--- a/nixpkgs/pkgs/development/compilers/koka/default.nix
+++ b/nixpkgs/pkgs/development/compilers/koka/default.nix
@@ -4,12 +4,12 @@
 , parsec, process, regex-compat, text, time }:
 
 let
-  version = "2.1.4";
+  version = "2.1.9";
   src = fetchFromGitHub {
     owner = "koka-lang";
     repo = "koka";
     rev = "v${version}";
-    sha256 = "sha256-MPMA8ZErEKv1SrkliLsy35k88GrdsPqIK6yokQreIjE=";
+    sha256 = "0xny4x1a2lzwgmng60bni7rxfjx5ns70qbfp703qwms54clvj5wy";
     fetchSubmodules = true;
   };
   kklib = stdenv.mkDerivation {
diff --git a/nixpkgs/pkgs/development/compilers/llvm/12/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/12/clang/default.nix
index dbd6ea1e1ac4..87cdca834ea7 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/12/clang/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/12/clang/default.nix
@@ -17,6 +17,9 @@ let
       mv clang-* clang
       sourceRoot=$PWD/clang
       unpackFile ${clang-tools-extra_src}
+      mv clang-tools-extra-* $sourceRoot/tools/extra
+      substituteInPlace $sourceRoot/tools/extra/clangd/quality/CompletionModel.cmake \
+        --replace ' ''${CMAKE_SOURCE_DIR}/../clang-tools-extra' ' ''${CMAKE_SOURCE_DIR}/tools/extra'
     '';
 
     nativeBuildInputs = [ cmake python3 ]
diff --git a/nixpkgs/pkgs/development/compilers/llvm/rocm/clang.nix b/nixpkgs/pkgs/development/compilers/llvm/rocm/clang.nix
index 6ab0f894ca9c..45c0bfda1922 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/rocm/clang.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/rocm/clang.nix
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
     description = "ROCm fork of the clang C/C++/Objective-C/Objective-C++ LLVM compiler frontend";
     homepage = "https://llvm.org/";
     license = with licenses; [ ncsa ];
-    maintainers = with maintainers; [ danieldk ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/llvm/rocm/lld/default.nix b/nixpkgs/pkgs/development/compilers/llvm/rocm/lld/default.nix
index ef60747b0138..c8ca83f76c12 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/rocm/lld/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/rocm/lld/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     description = "ROCm fork of the LLVM Linker";
     homepage = "https://github.com/RadeonOpenCompute/llvm-project";
     license = licenses.ncsa;
-    maintainers = with maintainers; [ danieldk ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/llvm/rocm/llvm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/rocm/llvm/default.nix
index b3e8c06195ff..6d1ff664972d 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/rocm/llvm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/rocm/llvm/default.nix
@@ -91,7 +91,7 @@ in stdenv.mkDerivation rec {
     description = "ROCm fork of the LLVM compiler infrastructure";
     homepage = "https://github.com/RadeonOpenCompute/llvm-project";
     license = with licenses; [ ncsa ];
-    maintainers = with maintainers; [ danieldk ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/odin/default.nix b/nixpkgs/pkgs/development/compilers/odin/default.nix
new file mode 100644
index 000000000000..5845be142b62
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/odin/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, fetchFromGitHub
+, llvmPackages
+, makeWrapper
+, libiconv
+}:
+
+let
+  inherit (llvmPackages) stdenv;
+in stdenv.mkDerivation rec {
+  pname = "odin";
+  version = "0.13.0";
+
+  src = fetchFromGitHub {
+    owner = "odin-lang";
+    repo = "Odin";
+    rev = "v${version}";
+    sha256 = "ke2HPxVtF/Lh74Tv6XbpM9iLBuXLdH1+IE78MAacfYY=";
+  };
+
+  nativeBuildInputs = [
+    makeWrapper
+  ];
+
+  buildInputs = lib.optional stdenv.isDarwin libiconv;
+
+  postPatch = ''
+    sed -i 's/^GIT_SHA=.*$/GIT_SHA=/' Makefile
+  '';
+
+  dontConfigure = true;
+
+  buildFlags = [
+    "release"
+  ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp odin $out/bin/odin
+    cp -r core $out/bin/core
+
+    wrapProgram $out/bin/odin --prefix PATH : ${lib.makeBinPath (with llvmPackages; [
+      bintools
+      llvm
+      clang
+      lld
+    ])}
+  '';
+
+  meta = with lib; {
+    description = "A fast, concise, readable, pragmatic and open sourced programming language";
+    homepage = "https://odin-lang.org/";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ luc65r ];
+    platforms = platforms.x86_64;
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/openjdk/11.nix b/nixpkgs/pkgs/development/compilers/openjdk/11.nix
index d7aaf2dcb55e..bf85fd353350 100644
--- a/nixpkgs/pkgs/development/compilers/openjdk/11.nix
+++ b/nixpkgs/pkgs/development/compilers/openjdk/11.nix
@@ -11,7 +11,7 @@
 let
   major = "11";
   minor = "0";
-  update = "10";
+  update = "11";
   build = "9";
 
   openjdk = stdenv.mkDerivation rec {
@@ -22,7 +22,7 @@ let
       owner = "openjdk";
       repo = "jdk${major}u";
       rev = "jdk-${version}";
-      sha256 = "06pm3hpz4ggiqwvkgzxr39y9kga7vk4flakfznz5979bvgb926vw";
+      sha256 = "0jncsj424340xjfwv6sx5hy9sas80qa3ymkx0ng3by3z01y5rgfx";
     };
 
     nativeBuildInputs = [ pkg-config autoconf unzip ];
diff --git a/nixpkgs/pkgs/development/compilers/rust/1_52.nix b/nixpkgs/pkgs/development/compilers/rust/1_53.nix
index 49176ad3fedd..dda6d3931903 100644
--- a/nixpkgs/pkgs/development/compilers/rust/1_52.nix
+++ b/nixpkgs/pkgs/development/compilers/rust/1_53.nix
@@ -20,8 +20,8 @@
 } @ args:
 
 import ./default.nix {
-  rustcVersion = "1.52.1";
-  rustcSha256 = "sha256-Om8jom0Oj4erv78yxc19qgwLcdCYar78Vrml+/vQv5g=";
+  rustcVersion = "1.53.0";
+  rustcSha256 = "1f95p259dfp5ca118bg107rj3rqwlswy65dxn3hg8sqgl4wwmxsw";
 
   llvmSharedForBuild = pkgsBuildBuild.llvmPackages_12.libllvm.override { enableSharedLibraries = true; };
   llvmSharedForHost = pkgsBuildHost.llvmPackages_12.libllvm.override { enableSharedLibraries = true; };
@@ -34,24 +34,24 @@ import ./default.nix {
 
   # Note: the version MUST be one version prior to the version we're
   # building
-  bootstrapVersion = "1.51.0";
+  bootstrapVersion = "1.52.1";
 
   # fetch hashes by running `print-hashes.sh ${bootstrapVersion}`
   bootstrapHashes = {
-    i686-unknown-linux-gnu = "de2e8ef724d89ba6f567f07ebacf5a244c7cdae30ee559f1913310eda38d9cd1";
-    x86_64-unknown-linux-gnu = "9e125977aa13f012a68fdc6663629c685745091ae244f0587dd55ea4e3a3e42f";
-    x86_64-unknown-linux-musl = "cb65c3a19ba0e09a94ccfd8551e648efaa1db52b0db19ae475d35a46f8750871";
-    arm-unknown-linux-gnueabihf = "ab26464947ce80b4c361b08242dc215a5664f9f4ad23f66891ec27d55a0440b7";
-    armv7-unknown-linux-gnueabihf = "5d381b7ee16c559efefedfac7ec4d392e838fddaf50049255844dcff2b2614dd";
-    aarch64-unknown-linux-gnu = "fd31c78fffad52c03cac5a7c1ee5db3f34b2a77d7bc862707c0f71e209180a84";
-    aarch64-unknown-linux-musl = "06cdaa1117dcdd392ede938b655b9bc45cf2a76bd42870ca223189e6eb29d435";
-    x86_64-apple-darwin = "765212098a415996b767d1e372ce266caf94027402b269fec33291fffc085ca4";
-    aarch64-apple-darwin = "95d0410bbd20b05f8b7d5adf70e8737873995bc86611a90e643d7081ca35147f";
-    powerpc64le-unknown-linux-gnu = "7362f561104d7be4836507d3a53cd39444efcdf065813d559beb1f54ce9f7680";
-    riscv64gc-unknown-linux-gnu = "9d0c2c4ab2397e78758de8b6b57051482bcf20b6748e0e16d9d5bd23ce73d72a";
+    i686-unknown-linux-gnu = "c91f0431c8137a4e98e097ab47b49846820531aafb6e9c249b71b770771832e9";
+    x86_64-unknown-linux-gnu = "617ae06e212cb65bc4abbf52b158b0328b9f1a6c2f822c27c95b274d6fbc0627";
+    x86_64-unknown-linux-musl = "c3eae6e78ee29e03416897f89b54448b2a03d063f07a78cde41757ad2e02c2f0";
+    arm-unknown-linux-gnueabihf = "ef412d923a0c5a9fa54422f40cde62f2e85a62339057cb8b986a545b108d3347";
+    armv7-unknown-linux-gnueabihf = "ec47b3f5c801f8a4df7180e088dcc1817ee160df34ef64ddac4fa50f714f119f";
+    aarch64-unknown-linux-gnu = "17d9aa7bb73b819ef70d81013498727b7218533ee6cf3bd802c4eac29137fbcb";
+    aarch64-unknown-linux-musl = "f2bae2b32f05a90eec041352d9329deb3e907f5560b9fda525788df3b8008b6b";
+    x86_64-apple-darwin = "cfa73228ea54e2c94f75d1b142ea41444c463f4ee8562a3eca1b11b2fe8af95a";
+    aarch64-apple-darwin = "217e9723f828c5359467d69b363a342d702bdcbbcc4107be907e6bc4531f4912";
+    powerpc64le-unknown-linux-gnu = "f258c5d7d6d9022108672b7383412d930a5f59d7644d148e413c3ab0ae45604f";
+    riscv64gc-unknown-linux-gnu = "c1c98ccc8bb4147a819411a10162c8f8ce1aaa5c65cf2c74802dce4dacd6e64b";
   };
 
-  selectRustPackage = pkgs: pkgs.rust_1_52;
+  selectRustPackage = pkgs: pkgs.rust_1_53;
 
   rustcPatches = [
   ];
diff --git a/nixpkgs/pkgs/development/compilers/rust/rustc.nix b/nixpkgs/pkgs/development/compilers/rust/rustc.nix
index b8fca884edcf..dae944092409 100644
--- a/nixpkgs/pkgs/development/compilers/rust/rustc.nix
+++ b/nixpkgs/pkgs/development/compilers/rust/rustc.nix
@@ -159,6 +159,9 @@ in stdenv.mkDerivation rec {
     # remove references to llvm-config in lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so
     # and thus a transitive dependency on ncurses
     find $out/lib -name "*.so" -type f -exec remove-references-to -t ${llvmShared} '{}' '+'
+
+    # remove uninstall script that doesn't really make sense for Nix.
+    rm $out/lib/rustlib/uninstall.sh
   '';
 
   configurePlatforms = [];
diff --git a/nixpkgs/pkgs/development/compilers/vala/default.nix b/nixpkgs/pkgs/development/compilers/vala/default.nix
index 3703225489dd..69d5789bfb0b 100644
--- a/nixpkgs/pkgs/development/compilers/vala/default.nix
+++ b/nixpkgs/pkgs/development/compilers/vala/default.nix
@@ -116,18 +116,18 @@ in rec {
   };
 
   vala_0_48 = generic {
-    version = "0.48.17";
-    sha256 = "1wlb4vd7k6hg10s09npglbhfcgjzxkywd4v0l96qhn19m9b8cszj";
+    version = "0.48.18";
+    sha256 = "1pbz4nyrrf9wp8rp953sczx545s4g0h5mars9ynkn788dzs2h3wy";
   };
 
   vala_0_50 = generic {
-    version = "0.50.4";
-    sha256 = "1353j852h04d1x6b4n6lbg3ay40ph0adb9yi25dh74pligx33z2q";
+    version = "0.50.9";
+    sha256 = "0w5ngs90rq7vy21nqfq8drqyb33kxm17j161qvakwpsbjsidv1mn";
   };
 
   vala_0_52 = generic {
-    version = "0.52.2";
-    sha256 = "sha256-OjxGCAO6Zh5RO+PQmEtYPgVHP2AsdfqY6RdVUDcUqXs=";
+    version = "0.52.4";
+    sha256 = "0cfz3xshc9azxx4fn25x9gadnph6jvf1r2wzd7p5krk0a4755ppc";
   };
 
   vala = vala_0_52;
diff --git a/nixpkgs/pkgs/development/coq-modules/itauto/default.nix b/nixpkgs/pkgs/development/coq-modules/itauto/default.nix
new file mode 100644
index 000000000000..66791b130614
--- /dev/null
+++ b/nixpkgs/pkgs/development/coq-modules/itauto/default.nix
@@ -0,0 +1,24 @@
+{ lib, mkCoqDerivation, coq, version ? null }:
+with lib;
+
+mkCoqDerivation rec {
+  pname = "itauto";
+  owner = "fbesson";
+  domain = "gitlab.inria.fr";
+
+  release."8.13+no".sha256 = "sha256-gXoxtLcHPoyjJkt7WqvzfCMCQlh6kL2KtCGe3N6RC/A=";
+  inherit version;
+  defaultVersion = with versions; switch coq.coq-version [
+    { case = isGe "8.13"; out = "8.13+no"; }
+  ] null;
+
+  mlPlugin = true;
+  extraBuildInputs = (with coq.ocamlPackages; [ ocamlbuild ]);
+  enableParallelBuilding = false;
+
+  meta = {
+    description = "A reflexive SAT solver parameterised by a leaf tactic and Nelson-Oppen support";
+    maintainers = with maintainers; [ siraben ];
+    license = licenses.gpl3Plus;
+  };
+}
diff --git a/nixpkgs/pkgs/development/coq-modules/semantics/default.nix b/nixpkgs/pkgs/development/coq-modules/semantics/default.nix
new file mode 100644
index 000000000000..1fb01312e666
--- /dev/null
+++ b/nixpkgs/pkgs/development/coq-modules/semantics/default.nix
@@ -0,0 +1,46 @@
+{ lib, mkCoqDerivation, coq, version ? null }:
+with lib;
+
+mkCoqDerivation rec {
+  pname = "semantics";
+  owner = "coq-community";
+  releaseRev = v: "v${v}";
+
+  release."8.13.0".sha256 = "sha256-8bDr/Ovl6s8BFaRcHeS5H33/K/pYdeKfSN+krVuKulQ=";
+  release."8.11.1".sha256 = "sha256-jTPgcXSNn1G2mMDC7ocFcmqs8svB7Yo1emXP15iuxiU=";
+  release."8.9.0".sha256 = "sha256-UBsvzlDEZsZsVkbUI0GbFEhpxnnLCiaqlqDyWVC5I6s=";
+  release."8.8.0".sha256 = "sha256-k2nQyNw9KT3wY7bGy8KGILF44sLxkBYqdFpzFE9fgyw=";
+  release."8.7.0".sha256 = "sha256-k2nQyNw9KT3wY7bGy8KGILF44sLxkBYqdFpzFE9fgyw=";
+  release."8.6.0".sha256 = "sha256-GltkGQ3tJqUPAbdDkqqvKLLhMOap50XvGaCkjshiNdY=";
+
+  inherit version;
+  defaultVersion = with versions; switch coq.coq-version [
+    { case = isGe "8.13"; out = "8.13.0"; }
+    { case = "8.11"; out = "8.11.1"; }
+    { case = "8.9"; out = "8.9.0"; }
+    { case = "8.8"; out = "8.8.0"; }
+    { case = "8.7"; out = "8.7.0"; }
+    { case = "8.6"; out = "8.6.0"; }
+  ] null;
+
+  mlPlugin = true;
+  extraBuildInputs = (with coq.ocamlPackages; [ num ocamlbuild ]);
+
+  postPatch = ''
+    for p in Make Makefile.coq.local
+    do
+      substituteInPlace $p --replace "-libs nums" "-use-ocamlfind -package num" || true
+    done
+  '';
+
+  meta = {
+    description = "A survey of programming language semantics styles in Coq";
+    longDescription = ''
+      A survey of semantics styles in Coq, from natural semantics through
+      structural operational, axiomatic, and denotational semantics, to
+      abstract interpretation
+    '';
+    maintainers = with maintainers; [ siraben ];
+    license = licenses.mit;
+  };
+}
diff --git a/nixpkgs/pkgs/development/go-modules/generic/default.nix b/nixpkgs/pkgs/development/go-modules/generic/default.nix
index 7533d52c989e..cda43ebf0ed6 100644
--- a/nixpkgs/pkgs/development/go-modules/generic/default.nix
+++ b/nixpkgs/pkgs/development/go-modules/generic/default.nix
@@ -216,7 +216,7 @@ let
           runHook preCheck
 
           for pkg in $(getGoDirs test); do
-            buildGoDir test "$pkg"
+            buildGoDir test $checkFlags "$pkg"
           done
 
           runHook postCheck
@@ -238,6 +238,8 @@ let
 
         passthru = passthru // { inherit go go-modules vendorSha256 ; };
 
+        enableParallelBuilding = enableParallelBuilding;
+
         meta = {
           # Add default meta information
           platforms = go.meta.platforms or lib.platforms.all;
diff --git a/nixpkgs/pkgs/development/go-packages/generic/default.nix b/nixpkgs/pkgs/development/go-packages/generic/default.nix
index 88d7acb42fc9..0fb51b68eca6 100644
--- a/nixpkgs/pkgs/development/go-packages/generic/default.nix
+++ b/nixpkgs/pkgs/development/go-packages/generic/default.nix
@@ -210,7 +210,7 @@ let
       runHook preCheck
 
       for pkg in $(getGoDirs test); do
-        buildGoDir test "$pkg"
+        buildGoDir test $checkFlags "$pkg"
       done
 
       runHook postCheck
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-common.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-common.nix
index 1c3cbbbbe31f..b6e5274be003 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-common.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-common.nix
@@ -706,10 +706,6 @@ self: super: {
   uuid-types = doJailbreak super.uuid-types;
   uuid = doJailbreak super.uuid;
 
-  # Bypass version check for random < 1.2 (1.2 works fine).
-  # https://github.com/yeyan/xmonad-wallpaper/issues/2
-  xmonad-wallpaper = doJailbreak super.xmonad-wallpaper;
-
   # The tests spuriously fail
   libmpd = dontCheck super.libmpd;
 
@@ -1936,4 +1932,12 @@ EOT
   # https://github.com/dagit/zenc/issues/5
   zenc = doJailbreak super.zenc;
 
+  # Indeterministic tests
+  # Fixed on upstream: https://github.com/softwarefactory-project/matrix-client-haskell/commit/4ca4963cfd06379d9bdce49742af854aed6a0d37
+  matrix-client = dontCheck super.matrix-client;
+
+  # Flakey tests
+  # upstream https://github.com/circuithub/rel8/issues/86
+  rel8 = dontCheck super.rel8;
+
 } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-darwin.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-darwin.nix
index 0c4b46360ba7..492af32edb14 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-darwin.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-darwin.nix
@@ -173,6 +173,7 @@ self: super: {
   hls-brittany-plugin = dontCheck super.hls-brittany-plugin;
   hls-fourmolu-plugin = dontCheck super.hls-fourmolu-plugin;
   hls-module-name-plugin = dontCheck super.hls-module-name-plugin;
+  hls-splice-plugin = dontCheck super.hls-splice-plugin;
 
   # We are lacking pure pgrep at the moment for tests to work
   tmp-postgres = dontCheck super.tmp-postgres;
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
index d960d4ed8f07..f21266e5004d 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
@@ -617,6 +617,7 @@ broken-packages:
   - chunky
   - church
   - church-maybe
+  - churros
   - cielo
   - cil
   - cinvoke
@@ -1640,7 +1641,6 @@ broken-packages:
   - gitter
   - git-vogue
   - gi-vips
-  - gi-wnck
   - glade
   - glapp
   - Gleam
@@ -2289,6 +2289,7 @@ broken-packages:
   - hs-rs-notify
   - hs-scrape
   - hsseccomp
+  - hssh
   - hs-snowtify
   - hs-speedscope
   - hsSqlite3
@@ -2453,6 +2454,7 @@ broken-packages:
   - initialize
   - inject-function
   - inline-asm
+  - inline-r
   - inserts
   - instana-haskell-trace-sdk
   - instance-map
@@ -2963,6 +2965,7 @@ broken-packages:
   - mi
   - miconix-test
   - microbase
+  - microformats2-parser
   - microgroove
   - microlens-each
   - micrologger
@@ -3597,6 +3600,7 @@ broken-packages:
   - plat
   - platinum-parsing
   - PlayingCards
+  - plex
   - plist
   - plist-buddy
   - plot-gtk
@@ -3979,6 +3983,7 @@ broken-packages:
   - reversi
   - ReviewBoard
   - rewrite-inspector
+  - rfc
   - rfc-prelude
   - rhbzquery
   - ribbit
@@ -4869,6 +4874,7 @@ broken-packages:
   - turing-music
   - turtle-options
   - tweak
+  - twee
   - twentefp-websockets
   - twfy-api-client
   - twhs
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
index fa4e798d1d3b..45d0bdcd0cbb 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
@@ -218,6 +218,7 @@ package-maintainers:
     - hlint
     - hmatrix
     - iCalendar
+    - matrix-client
     - neuron
     - optics
     - reflex-dom
@@ -356,6 +357,7 @@ unsupported-platforms:
   gi-ibus:                                      [ x86_64-darwin ]
   gi-ostree:                                    [ x86_64-darwin ]
   gi-vte:                                       [ x86_64-darwin ]
+  gi-wnck:                                      [ x86_64-darwin ]
   gnome-keyring:                                [ x86_64-darwin ]
   gtk-mac-integration:                          [ i686-linux, x86_64-linux, aarch64-linux, armv7l-linux ]
   gtk-sni-tray:                                 [ x86_64-darwin ]
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
index 5c38f0b040f8..fdad31819ac5 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
@@ -5,35 +5,395 @@
 dont-distribute-packages:
 
  - 4Blocks
- - a50
- - abcBridge
+ - AC-Vector-Fancy
+ - ADPfusionForest
+ - ADPfusionSet
+ - AERN-Net
+ - AERN-Real
+ - AERN-Real-Double
+ - AERN-Real-Interval
+ - AERN-RnToRm
+ - AERN-RnToRm-Plot
+ - ASN1
  - AbortT-monadstf
  - AbortT-mtl
+ - Advgame
+ - Advise-me
+ - AlgoRhythm
+ - AlignmentAlgorithms
+ - AndroidViewHierarchyImporter
+ - Annotations
+ - ApplePush
+ - AttoJson
+ - AutoForms
+ - AvlTree
+ - BASIC
+ - Barracuda
+ - BerlekampAlgorithm
+ - BioHMM
+ - Biobase
+ - BiobaseBlast
+ - BiobaseDotP
+ - BiobaseENA
+ - BiobaseEnsembl
+ - BiobaseFR3D
+ - BiobaseFasta
+ - BiobaseHTTP
+ - BiobaseHTTPTools
+ - BiobaseInfernal
+ - BiobaseMAF
+ - BiobaseTrainingData
+ - BiobaseTurner
+ - BiobaseTypes
+ - BiobaseVienna
+ - BiobaseXNA
+ - BirdPP
+ - Bitly
+ - BlastHTTP
+ - Blobs
+ - BlogLiterately
+ - BlogLiterately-diagrams
+ - Bookshelf
+ - CBOR
+ - CC-delcont-alt
+ - CMCompare
+ - CPBrainfuck
+ - CPL
+ - CSPM-Interpreter
+ - CSPM-ToProlog
+ - CSPM-cspm
+ - CarneadesIntoDung
+ - Chart-fltkhs
+ - ClustalParser
+ - Coadjute
+ - Combinatorrent
+ - ComonadSheet
+ - Condor
+ - Configger
+ - Control-Monad-MultiPass
+ - CoreFoundation
+ - DMuCheck
+ - DOM
+ - DP
+ - DSH
+ - DSTM
+ - Dangerous
+ - DarcsHelpers
+ - DefendTheKing
+ - DifferenceLogic
+ - DisTract
+ - DnaProteinAlignment
+ - DocTest
+ - DrHylo
+ - Dust
+ - Dust-tools
+ - Dust-tools-pcap
+ - DysFRP-Cairo
+ - DysFRP-Craftwerk
+ - EditTimeReport
+ - EntrezHTTP
+ - EsounD
+ - EtaMOO
+ - Etage-Graph
+ - Eternal10Seconds
+ - Etherbunny
+ - EventSocket
+ - FComp
+ - FM-SBLEX
+ - FTPLine
+ - Facts
+ - FailureT
+ - FermatsLastMargin
+ - FieldTrip
+ - FilePather
+ - Finance-Treasury
+ - FiniteMap
+ - FirstOrderTheory
+ - Flippi
+ - Forestry
+ - FormalGrammars
+ - Foster
+ - Frames-beam
+ - Frames-dsv
+ - Frank
+ - GLFW-OGL
+ - GLFW-task
+ - GPX
+ - GPipe-Collada
+ - GPipe-Examples
+ - GPipe-GLFW
+ - GPipe-GLFW4
+ - GPipe-TextureLoad
+ - Gamgine
+ - GeBoP
+ - GenI
+ - GenSmsPdu
+ - Genbank
+ - Gene-CluEDO
+ - GenussFold
+ - GlomeView
+ - GoogleDirections
+ - GoogleSB
+ - GoogleTranslate
+ - GrammarProducts
+ - GraphHammer
+ - GraphHammer-examples
+ - GrowlNotify
+ - Gtk2hsGenerics
+ - GtkGLTV
+ - GuiHaskell
+ - GuiTV
+ - H
+ - HAppS-Data
+ - HAppS-IxSet
+ - HAppS-Server
+ - HAppS-State
+ - HGamer3D-API
+ - HGamer3D-CAudio-Binding
+ - HGamer3D-OIS-Binding
+ - HJScript
+ - HLearn-algebra
+ - HLearn-approximation
+ - HLearn-classification
+ - HLearn-datastructures
+ - HLearn-distributions
+ - HNM
+ - HPlot
+ - HPong
+ - HROOT
+ - HROOT-core
+ - HROOT-graf
+ - HROOT-hist
+ - HROOT-io
+ - HROOT-math
+ - HROOT-tree
+ - HRay
+ - HSGEP
+ - HSHHelpers
+ - HSoundFile
+ - HStringTemplateHelpers
+ - HTab
+ - HXMPP
+ - HaMinitel
+ - HaRe
+ - HaTeX-meta
+ - HaTeX-qq
+ - HaVSA
+ - Hach
+ - HarmTrace
+ - HasGP
+ - Hashell
+ - HaskRel
+ - Hate
+ - Hawk
+ - Hayoo
+ - Hedi
+ - Hieroglyph
+ - HiggsSet
+ - Hipmunk-Utils
+ - HipmunkPlayground
+ - Hoed
+ - Holumbus-Distribution
+ - Holumbus-MapReduce
+ - Holumbus-Searchengine
+ - Holumbus-Storage
+ - HongoDB
+ - Hs2lib
+ - HsParrot
+ - HsWebots
+ - Hsed
+ - Hydrogen
+ - INblobs
+ - IORefCAS
+ - IndexedList
+ - InfixApplicative
+ - JSON-Combinator
+ - JSON-Combinator-Examples
+ - JSONb
+ - Javasf
+ - JsContracts
+ - JsonGrammar
+ - JuPyTer-notebook
+ - JunkDB-driver-gdbm
+ - JunkDB-driver-hashtables
+ - KiCS
+ - KiCS-debugger
+ - KiCS-prophecy
+ - LDAPv3
+ - LambdaDesigner
+ - LambdaINet
+ - LambdaPrettyQuote
+ - LambdaShell
+ - LinearSplit
+ - LinkChecker
+ - LogicGrowsOnTrees
+ - LogicGrowsOnTrees-MPI
+ - LogicGrowsOnTrees-network
+ - LogicGrowsOnTrees-processes
+ - LslPlus
+ - Lucu
+ - Lykah
+ - MC-Fold-DP
+ - MFlow
+ - MIP-glpk
+ - MSQueue
+ - MaybeT-transformers
+ - MetaObject
+ - Metrics
+ - Mhailist
+ - Michelangelo
+ - MicrosoftTranslator
+ - MissingPy
+ - MonadCatchIO-mtl
+ - MonadCatchIO-mtl-foreign
+ - MonadCatchIO-transformers-foreign
+ - MonadLab
+ - Monaris
+ - Monatron-IO
+ - Monocle
+ - MuCheck-HUnit
+ - MuCheck-Hspec
+ - MuCheck-QuickCheck
+ - MuCheck-SmallCheck
+ - MutationOrder
+ - NXT
+ - NaperianNetCDF
+ - NearContextAlgebra
+ - Ninjas
+ - NoSlow
+ - Nomyx
+ - Nomyx-Core
+ - Nomyx-Language
+ - Nomyx-Rules
+ - Nomyx-Web
+ - NonEmptyList
+ - Nussinov78
+ - OSM
+ - OnRmt
+ - OpenAFP-Utils
+ - OpenGLCheck
+ - OpenSCAD
+ - OpenVG
+ - PCLT-DB
+ - PageIO
+ - Paraiso
+ - Parallel-Arrows-Eden
+ - PermuteEffects
+ - Plot-ho-matic
+ - PlslTools
+ - Printf-TH
+ - ProbabilityMonads
+ - Pugs
+ - Pup-Events
+ - Pup-Events-Demo
+ - Quelea
+ - RESTng
+ - RMP
+ - RNAFold
+ - RNAFoldProgs
+ - RNAdesign
+ - RNAdraw
+ - RNAlien
+ - RNAwolf
+ - Ranka
+ - Rlang-QQ
+ - RollingDirectory
+ - S3
+ - SBench
+ - SCRIPTWriter
+ - SCalendar
+ - SFML-control
+ - SFont
+ - SGdemo
+ - STLinkUSB
+ - STM32-Zombie
+ - SVG2Q
+ - SciFlow
+ - SciFlow-drmaa
+ - Scurry
+ - SelectSequencesFromMSA
+ - Shellac-compatline
+ - Shellac-editline
+ - Shellac-haskeline
+ - Shellac-readline
+ - ShortestPathProblems
+ - Shpadoinkle-backend-pardiff
+ - Shpadoinkle-backend-static
+ - Shpadoinkle-developer-tools
+ - Shpadoinkle-disembodied
+ - Shpadoinkle-examples
+ - Shpadoinkle-html
+ - Shpadoinkle-router
+ - Shpadoinkle-template
+ - Shpadoinkle-widgets
+ - SimpleGL
+ - SimpleLog
+ - SimpleServer
+ - Smooth
+ - Snusmumrik
+ - SoccerFun
+ - SoccerFunGL
+ - SourceGraph
+ - SpinCounter
+ - Spock-auth
+ - Spock-lucid
+ - Spock-worker
+ - StockholmAlignment
+ - Strafunski-Sdf2Haskell
+ - SyntaxMacros
+ - Taxonomy
+ - TaxonomyTools
+ - TeX-my-math
+ - TeaHS
+ - TreeCounter
+ - Treiber
+ - TrieMap
+ - TypeClass
+ - TypeIlluminator
+ - UMM
+ - URLT
+ - UrlDisp
+ - ViennaRNA-extras
+ - WAVE
+ - WEditorBrick
+ - WEditorHyphen
+ - WL500gPControl
+ - WURFL
+ - WXDiffCtrl
+ - WashNGo
+ - WaveFront
+ - WebBits-Html
+ - WebBits-multiplate
+ - WebCont
+ - WordAlignment
+ - WxGeneric
+ - XML
+ - XMPP
+ - XSaiga
+ - YACPong
+ - Yablog
+ - Yogurt
+ - Yogurt-Standalone
+ - Z-Botan
+ - Z-IO
+ - Z-MessagePack
+ - Z-YAML
+ - a50
+ - abcBridge
+ - ac-machine-conduit
  - accelerate-arithmetic
  - accelerate-fourier
  - accelerate-typelits
  - access-token-provider
- - ac-machine-conduit
  - acme-php
  - acme-safe
  - acousticbrainz-client
  - activehs
  - actor
- - AC-Vector-Fancy
  - adhoc-network
  - adict
- - ADPfusionForest
- - ADPfusionSet
  - adp-multi-monadiccp
- - Advgame
- - Advise-me
  - aern2-real
- - AERN-Net
- - AERN-Real
- - AERN-Real-Double
- - AERN-Real-Interval
- - AERN-RnToRm
- - AERN-RnToRm-Plot
  - aeson-native
  - afv
  - agda-server
@@ -46,8 +406,6 @@ dont-distribute-packages:
  - algebra-driven-design
  - algebra-sql
  - algolia
- - AlgoRhythm
- - AlignmentAlgorithms
  - alms
  - alpha
  - alsa-gui
@@ -58,18 +416,18 @@ dont-distribute-packages:
  - amqp-streamly
  - analyze-client
  - anatomy
- - AndroidViewHierarchyImporter
  - animate-example
  - animate-frames
  - animate-preview
  - animate-sdl2
  - annah
- - Annotations
  - anonymous-sums-tests
  - antagonist
  - anticiv
  - antlrc
  - apelsin
+ - api-rpc-pegnet
+ - api-yoti
  - apiary
  - apiary-authenticate
  - apiary-clientsession
@@ -85,11 +443,8 @@ dont-distribute-packages:
  - apiary-redis
  - apiary-session
  - apiary-websockets
- - api-rpc-pegnet
  - apis
- - api-yoti
  - apotiki
- - ApplePush
  - approx-rand-test
  - arbor-monad-metric-datadog
  - arch-hs
@@ -104,7 +459,6 @@ dont-distribute-packages:
  - arraylist
  - ascii-table
  - asic
- - ASN1
  - assert4hs-hspec
  - assert4hs-tasty
  - assimp
@@ -114,7 +468,6 @@ dont-distribute-packages:
  - atmos-dimensional-tf
  - atomic-primops-foreign
  - atp
- - AttoJson
  - attoparsec-enumerator
  - attoparsec-iteratee
  - attoparsec-text-enumerator
@@ -122,13 +475,11 @@ dont-distribute-packages:
  - audiovisual
  - aura
  - authoring
- - AutoForms
  - autonix-deps-kf5
  - avers
  - avers-api
  - avers-api-docs
  - avers-server
- - AvlTree
  - avro-piper
  - awesomium
  - awesomium-glut
@@ -150,6 +501,7 @@ dont-distribute-packages:
  - azure-functions-worker
  - azure-service-api
  - azure-servicebus
+ - b-tree
  - babylon
  - backblaze-b2-hs
  - backdropper
@@ -162,12 +514,10 @@ dont-distribute-packages:
  - bamboo-theme-mini-html5
  - bamse
  - bamstats
- - Barracuda
  - base16-lens
  - base32-bytestring
  - base64-bytes
  - baserock-schema
- - BASIC
  - batchd
  - battlenet-yesod
  - battleships
@@ -184,9 +534,9 @@ dont-distribute-packages:
  - beam-th
  - beautifHOL
  - bech32-th
+ - bech32-th_1_1_1
  - bein
  - belka
- - BerlekampAlgorithm
  - berp
  - bff
  - bglib
@@ -197,32 +547,15 @@ dont-distribute-packages:
  - binary-file
  - binary-protocol-zmq
  - binary-streams
+ - binding-wx
  - bindings-apr-util
  - bindings-linux-videodev2
  - bindings-ppdev
- - binding-wx
  - binembed-example
  - bioace
  - bioalign
- - Biobase
- - BiobaseBlast
- - BiobaseDotP
- - BiobaseENA
- - BiobaseEnsembl
- - BiobaseFasta
- - BiobaseFR3D
- - BiobaseHTTP
- - BiobaseHTTPTools
- - BiobaseInfernal
- - BiobaseMAF
- - BiobaseTrainingData
- - BiobaseTurner
- - BiobaseTypes
- - BiobaseVienna
- - BiobaseXNA
  - biofasta
  - biofastq
- - BioHMM
  - bioinformatics-toolkit
  - biophd
  - biopsl
@@ -231,27 +564,24 @@ dont-distribute-packages:
  - bip32
  - birch-beer
  - bird
- - BirdPP
  - bit-array
  - bitcoin-address
  - bitcoin-api
  - bitcoin-api-extra
  - bitcoin-block
  - bitcoin-compact-filters
- - bitcoind-regtest
- - bitcoind-rpc
  - bitcoin-keys
  - bitcoin-rpc
  - bitcoin-scripting
  - bitcoin-tx
  - bitcoin-types
- - Bitly
+ - bitcoind-regtest
+ - bitcoind-rpc
  - bitly-cli
  - bitmaps
  - bittorrent
  - bla
  - blakesum-demo
- - BlastHTTP
  - blastxml
  - blatex
  - blaze-builder-enumerator
@@ -259,10 +589,7 @@ dont-distribute-packages:
  - ble
  - blink1
  - blip
- - Blobs
  - blogination
- - BlogLiterately
- - BlogLiterately-diagrams
  - bloodhound-amazonka-auth
  - bloxorz
  - blubber
@@ -273,7 +600,6 @@ dont-distribute-packages:
  - bond-haskell
  - bond-haskell-compiler
  - bookkeeper-permissions
- - Bookshelf
  - boomslang
  - boopadoop
  - boots-cloud
@@ -292,7 +618,6 @@ dont-distribute-packages:
  - bronyradiogermany-streaming
  - brotli-conduit
  - brotli-streams
- - b-tree
  - btree
  - buchhaltung
  - buildbox-tools
@@ -309,14 +634,14 @@ dont-distribute-packages:
  - bytelog
  - bytestring-read
  - c0check
- - cabal2arch
  - cabal-bounds
  - cabal-cache
  - cabal-cargs
- - cabalmdvrpm
  - cabal-query
- - cabalrpmdeps
  - cabal-test
+ - cabal2arch
+ - cabalmdvrpm
+ - cabalrpmdeps
  - cake
  - cakyrespa
  - cal3d-examples
@@ -332,9 +657,8 @@ dont-distribute-packages:
  - canteven-http
  - cao
  - cap
- - carboncopy
- - CarneadesIntoDung
  - car-pool
+ - carboncopy
  - cartel
  - casadi-bindings
  - casadi-bindings-control
@@ -348,8 +672,6 @@ dont-distribute-packages:
  - casui
  - categorical-algebra
  - category-extras
- - CBOR
- - CC-delcont-alt
  - cctools-workqueue
  - cef3-simple
  - ceilometer-common
@@ -363,11 +685,9 @@ dont-distribute-packages:
  - cfopu
  - cgrep
  - chainweb-mining-client
- - chakra
  - chalkboard-viewer
  - charade
  - chart-cli
- - Chart-fltkhs
  - chart-svg
  - chart-svg-various
  - chart-unit
@@ -423,38 +743,33 @@ dont-distribute-packages:
  - cloud-seeder
  - cloudyfs
  - clua
- - ClustalParser
  - clustertools
  - clutterhs
  - cmathml3
- - CMCompare
  - cmptype
  - cmv
  - cnc-spec-compiler
- - Coadjute
- - codec
+ - co-feldspar
+ - co-log-polysemy-formatting
  - code-conjure
+ - codec
  - codec-rpm
  - codemonitor
- - co-feldspar
  - cognimeta-utils
  - coinbase-exchange
  - colada
  - collapse-duplication
  - collection-json
  - collections-base-instances
- - co-log-polysemy-formatting
  - color-counter
  - colorless-http-client
  - colorless-scotty
  - colour-space
  - columbia
  - comark
- - Combinatorrent
  - comic
  - commsec-keyexchange
  - comonad-random
- - ComonadSheet
  - compact-mutable
  - complexity
  - computational-algebra
@@ -464,7 +779,6 @@ dont-distribute-packages:
  - concrete-haskell
  - concrete-haskell-autogen
  - condor
- - Condor
  - conductive-hsc3
  - conductive-song
  - conduit-vfs-zip
@@ -474,9 +788,8 @@ dont-distribute-packages:
  - conferer-source-dhall
  - conferer-source-yaml
  - conffmt
- - Configger
- - configifier
  - config-select
+ - configifier
  - configurator-ng
  - constraint-manip
  - constructible
@@ -488,7 +801,6 @@ dont-distribute-packages:
  - control
  - control-monad-attempt
  - control-monad-exception-monadsfd
- - Control-Monad-MultiPass
  - conversions
  - convert
  - convertible-ascii
@@ -500,13 +812,10 @@ dont-distribute-packages:
  - copilot-language
  - copilot-libraries
  - copilot-theorem
- - CoreFoundation
  - coroutine-enumerator
  - coroutine-iteratee
- - couchdb-enumerator
  - couch-simple
- - CPBrainfuck
- - CPL
+ - couchdb-enumerator
  - cprng-aes-effect
  - cql-io-tinylog
  - cqrs-example
@@ -526,17 +835,14 @@ dont-distribute-packages:
  - criu-rpc
  - crockford
  - cron-compat
- - cryptocipher
  - crypto-conduit
+ - cryptocipher
  - cryptoids
  - cryptoids-class
  - cryptol
  - crystalfontz
  - csg
  - cspmchecker
- - CSPM-cspm
- - CSPM-Interpreter
- - CSPM-ToProlog
  - csv-enumerator
  - ctpl
  - cube
@@ -544,13 +850,11 @@ dont-distribute-packages:
  - cursor-fuzzy-time-gen
  - cv-combinators
  - cypher
- - Dangerous
  - dapi
  - darcs-benchmark
  - darcs-beta
- - darcsden
  - darcs-fastconvert
- - DarcsHelpers
+ - darcsden
  - darcswatch
  - darkplaces-demo
  - darkplaces-rcon-util
@@ -558,9 +862,7 @@ dont-distribute-packages:
  - data-accessor-monads-fd
  - data-basic
  - data-cycle
- - datadog-tracing
  - data-elf
- - dataflow
  - data-layer
  - data-lens-fd
  - data-lens-ixset
@@ -570,6 +872,8 @@ dont-distribute-packages:
  - data-result
  - data-rtuple
  - data-structure-inferrer
+ - datadog-tracing
+ - dataflow
  - date-conversions
  - dbjava
  - dbus-client
@@ -584,11 +888,11 @@ dont-distribute-packages:
  - ddc-core-simpl
  - ddc-core-tetra
  - ddc-driver
- - ddci-core
  - ddc-interface
  - ddc-source-tetra
  - ddc-tools
  - ddc-war
+ - ddci-core
  - debug
  - debug-trace-var
  - decidable
@@ -597,7 +901,6 @@ dont-distribute-packages:
  - deeplearning-hs
  - deepzoom
  - defargs
- - DefendTheKing
  - definitive-graphics
  - deka-tests
  - delaunay
@@ -606,9 +909,9 @@ dont-distribute-packages:
  - delimiter-separated
  - delta
  - delta-h
+ - dep-t-advice
  - dependent-state
  - dephd
- - dep-t-advice
  - deptrack-devops
  - deptrack-dot
  - dequeue
@@ -618,6 +921,7 @@ dont-distribute-packages:
  - dewdrop
  - dfinity-radix-tree
  - dhall-docs
+ - di-polysemy
  - dia-functions
  - diagrams-haddock
  - diagrams-html5
@@ -625,7 +929,6 @@ dont-distribute-packages:
  - diagrams-pgf
  - diagrams-reflex
  - diagrams-wx
- - DifferenceLogic
  - difference-monoid
  - digestive-functors-hsp
  - dingo-core
@@ -633,14 +936,12 @@ dont-distribute-packages:
  - dingo-widgets
  - diplomacy
  - diplomacy-server
- - di-polysemy
  - dirfiles
  - discogs-haskell
  - discord-gateway
  - discord-hs
  - discord-register
  - discord-rest
- - DisTract
  - distributed-process-async
  - distributed-process-azure
  - distributed-process-client-server
@@ -665,18 +966,13 @@ dont-distribute-packages:
  - dmenu-pkill
  - dmenu-pmount
  - dmenu-search
- - DMuCheck
- - DnaProteinAlignment
  - doc-review
- - DocTest
  - doi
- - DOM
  - domain
  - domain-core
  - domain-optics
  - dow
  - download-media-content
- - DP
  - dph-examples
  - dph-lifted-base
  - dph-lifted-copy
@@ -684,25 +980,17 @@ dont-distribute-packages:
  - dph-prim-interface
  - dph-prim-par
  - dph-prim-seq
- - DrHylo
  - dropbox-sdk
  - dropsolve
- - DSH
  - dsh-sql
  - dsmc-tools
- - DSTM
  - dtd
  - dumb-cas
- - Dust
- - Dust-tools
- - Dust-tools-pcap
  - dvda
  - dynamic-cabal
  - dynamic-pipeline
  - dynamic-plot
  - dynobud
- - DysFRP-Cairo
- - DysFRP-Craftwerk
  - eccrypto-ed25519-bindings
  - ecdsa
  - edenskel
@@ -710,7 +998,6 @@ dont-distribute-packages:
  - edge
  - edges
  - editable
- - EditTimeReport
  - effective-aspects-mzv
  - egison
  - egison-pattern-src-haskell-mode
@@ -729,7 +1016,6 @@ dont-distribute-packages:
  - embroidery
  - engine-io-growler
  - entangle
- - EntrezHTTP
  - enumerate
  - enumerate-function
  - enumerator-fd
@@ -742,25 +1028,19 @@ dont-distribute-packages:
  - errors-ext
  - ersatz-toysat
  - esotericbot
- - EsounD
  - estreps
- - Etage-Graph
- - EtaMOO
- - Eternal10Seconds
  - eternity
  - eternity-timestamped
  - ether
- - Etherbunny
  - ethereum-analyzer
  - ethereum-analyzer-cli
  - ethereum-analyzer-webui
  - ethereum-client-haskell
  - ethereum-merkle-patricia-db
  - evdev-streamly
+ - event-monad
  - eventful-postgresql
  - eventful-sqlite
- - event-monad
- - EventSocket
  - eventsource-geteventstore-store
  - every-bit-counts
  - exception-monads-fd
@@ -777,25 +1057,22 @@ dont-distribute-packages:
  - extensible-data
  - extract-dependencies
  - extrapolate
- - Facts
  - factual-api
- - FailureT
  - fakedata-quickcheck
- - fallingblocks
  - falling-turnip
+ - fallingblocks
  - family-tree
  - fast-digits
  - fastirc
  - fault-tree
  - fbrnch
  - fcd
- - FComp
  - feature-flipper-postgres
  - fedora-img-dl
- - feed2lj
- - feed2twitter
  - feed-gipeda
  - feed-translator
+ - feed2lj
+ - feed2twitter
  - fei-base
  - fei-cocoapi
  - fei-dataiter
@@ -805,33 +1082,26 @@ dont-distribute-packages:
  - fei-nn
  - feldspar-compiler
  - feldspar-language
- - FermatsLastMargin
  - festung
  - ffmpeg-tutorials
  - ficketed
  - fields
- - FieldTrip
  - filepath-crypto
- - filepather
- - FilePather
  - filepath-io-access
+ - filepather
  - filesystem-enumerator
- - Finance-Treasury
  - find-clumpiness
  - findhttp
- - FiniteMap
  - firstify
- - FirstOrderTheory
+ - fix-parser-simple
  - fixed-point-vector
  - fixed-point-vector-space
  - fixhs
- - fix-parser-simple
  - flac-picture
  - flashblast
  - flatbuffers
  - flexiwrap
  - flexiwrap-smallcheck
- - Flippi
  - flite
  - flowdock-api
  - flower
@@ -843,13 +1113,10 @@ dont-distribute-packages:
  - fltkhs-themes
  - fluent-logger
  - fluent-logger-conduit
- - FM-SBLEX
  - foldl-transduce-attoparsec
  - follower
  - foo
- - Forestry
  - formal
- - FormalGrammars
  - format
  - format-status
  - forml
@@ -859,28 +1126,23 @@ dont-distribute-packages:
  - fortran-src-extras
  - foscam-directory
  - foscam-sort
- - Foster
  - fp-ieee
  - fplll
  - fpnla-examples
  - frame-markdown
- - Frames-beam
- - Frames-dsv
- - Frank
- - freekick2
- - freelude
- - freer-converse
  - free-theorems-counterexamples
  - free-theorems-seq
  - free-theorems-seq-webui
  - free-theorems-webui
+ - freekick2
+ - freelude
+ - freer-converse
  - frpnow-gloss
  - frpnow-gtk
  - frpnow-gtk3
  - frpnow-vty
  - ftdi
  - ftp-client-conduit
- - FTPLine
  - ftree
  - ftshell
  - funbot
@@ -888,8 +1150,8 @@ dont-distribute-packages:
  - funcons-lambda-cbv-mp
  - funcons-simple
  - funcons-tools
- - functional-arrow
  - function-combine
+ - functional-arrow
  - functor-combo
  - funflow-nix
  - funion
@@ -903,12 +1165,10 @@ dont-distribute-packages:
  - g2q
  - gact
  - galois-fft
- - Gamgine
  - gargoyle-postgresql-connect
  - gbu
  - gdax
  - gdiff-ig
- - GeBoP
  - gedcom
  - geek
  - geek-server
@@ -917,18 +1177,13 @@ dont-distribute-packages:
  - gelatin-gl
  - gelatin-sdl2
  - gelatin-shaders
- - Genbank
- - Gene-CluEDO
  - generics-mrsop-gdiff
  - genesis
  - genesis-test
- - GenI
- - geniconvert
  - geni-gui
- - geniserver
  - geni-util
- - GenSmsPdu
- - GenussFold
+ - geniconvert
+ - geniserver
  - geodetic
  - geolite-csv
  - getemx
@@ -938,11 +1193,11 @@ dont-distribute-packages:
  - ghc-debug-stub
  - ghc-imported-from
  - ghc-instances
- - ghci-pretty
- - ghcjs-hplay
  - ghc-mod
  - ghc-tags-plugin
  - ghc-vis
+ - ghci-pretty
+ - ghcjs-hplay
  - ght
  - gi-cairo-again
  - gi-gsk
@@ -950,11 +1205,11 @@ dont-distribute-packages:
  - gi-gtk_4_0_4
  - git-fmt
  - git-gpush
+ - git-object
+ - git-remote-ipfs
  - github-webhook-handler-snap
  - gitlib-cross
  - gitlib-s3
- - git-object
- - git-remote-ipfs
  - givegif
  - gladexml-accessor
  - glazier
@@ -962,12 +1217,9 @@ dont-distribute-packages:
  - glazier-react
  - glazier-react-examples
  - glazier-react-widget
- - GLFW-OGL
- - GLFW-task
  - global
  - global-config
  - glome-hs
- - GlomeView
  - gloss-accelerate
  - gloss-devil
  - gloss-examples
@@ -983,14 +1235,11 @@ dont-distribute-packages:
  - goal-probability
  - goal-simulation
  - goat
- - GoogleDirections
  - google-drive
  - google-mail-filters
  - google-maps-geocoding
- - googleplus
- - GoogleSB
  - google-static-maps
- - GoogleTranslate
+ - googleplus
  - gore-and-ash-actor
  - gore-and-ash-async
  - gore-and-ash-demo
@@ -1000,27 +1249,15 @@ dont-distribute-packages:
  - gore-and-ash-network
  - gore-and-ash-sdl
  - gore-and-ash-sync
- - GPipe-Collada
- - GPipe-Examples
- - GPipe-GLFW
- - GPipe-GLFW4
- - GPipe-TextureLoad
  - gps
  - gps2htmlReport
- - GPX
  - grab-form
  - graflog
  - grammar-combinators
- - GrammarProducts
  - grapefruit-examples
  - grapefruit-records
  - grapefruit-ui
  - grapefruit-ui-gtk
- - GraphHammer
- - GraphHammer-examples
- - graphicsFormats
- - graphicstools
- - graphql-client
  - graph-rewriting-cl
  - graph-rewriting-gl
  - graph-rewriting-lambdascope
@@ -1029,13 +1266,15 @@ dont-distribute-packages:
  - graph-rewriting-strategies
  - graph-rewriting-trs
  - graph-rewriting-ww
- - graphtype
  - graph-visit
+ - graphicsFormats
+ - graphicstools
+ - graphql-client
+ - graphtype
  - greencard-lib
+ - grid-proto
  - gridbounds
  - gridland
- - grid-proto
- - GrowlNotify
  - grpc-etcd-client
  - grpc-haskell
  - grpc-haskell-core
@@ -1046,28 +1285,22 @@ dont-distribute-packages:
  - gsmenu
  - gstorable
  - gtfs
+ - gtk-serialized-event
  - gtk2hs-cast-glade
  - gtk2hs-cast-gnomevfs
  - gtk2hs-cast-gtkglext
  - gtk2hs-cast-gtksourceview2
- - Gtk2hsGenerics
- - GtkGLTV
  - gtkimageview
  - gtkrsync
- - gtk-serialized-event
  - guarded-rewriting
  - guess-combinator
- - GuiHaskell
- - GuiTV
+ - hArduino
+ - hOff-display
+ - hPDB
+ - hPDB-examples
  - habit
  - hablo
  - hablog
- - Hach
- - hack2-handler-happstack-server
- - hack2-handler-mongrel2-http
- - hack2-handler-snap-server
- - hackage2twitter
- - hackage-server
  - hack-contrib
  - hack-contrib-press
  - hack-handler-epoll
@@ -1075,10 +1308,15 @@ dont-distribute-packages:
  - hack-handler-fastcgi
  - hack-handler-hyena
  - hack-handler-simpleserver
- - hackmanager
  - hack-middleware-cleanpath
  - hack-middleware-clientsession
  - hack-middleware-jsonp
+ - hack2-handler-happstack-server
+ - hack2-handler-mongrel2-http
+ - hack2-handler-snap-server
+ - hackage-server
+ - hackage2twitter
+ - hackmanager
  - haddock
  - haddock_2_23_1
  - haddocset
@@ -1093,16 +1331,12 @@ dont-distribute-packages:
  - halma-gui
  - halma-telegram-bot
  - ham
- - HaMinitel
  - hamusic
  - hans-pcap
  - happlets-lib-gtk
- - HAppS-Data
  - happs-hsp
  - happs-hsp-template
- - HAppS-IxSet
- - HAppS-Server
- - HAppS-State
+ - happs-tutorial
  - happstack-auth
  - happstack-authenticate
  - happstack-contrib
@@ -1117,48 +1351,26 @@ dont-distribute-packages:
  - happstack-state
  - happstack-static-routing
  - happstack-yui
- - happs-tutorial
  - happybara-webkit
  - haquil
- - hArduino
  - hardware-edsl
- - HaRe
  - harg
  - hark
  - harmony
- - HarmTrace
  - haroonga-httpd
+ - has-th
  - hascat
  - hascat-lib
  - hascat-setup
  - hascat-system
- - HasGP
- - Hashell
  - hashflare
+ - hask-home
  - haskarrow
  - haskdeep
  - haskeem
  - haskell-abci
  - haskell-aliyun
  - haskell-bitmex-client
- - haskelldb-connect-hdbc
- - haskelldb-connect-hdbc-catchio-mtl
- - haskelldb-connect-hdbc-catchio-tf
- - haskelldb-connect-hdbc-catchio-transformers
- - haskelldb-connect-hdbc-lifted
- - haskelldb-dynamic
- - haskelldb-flat
- - haskelldb-hdbc
- - haskelldb-hdbc-mysql
- - haskelldb-hdbc-odbc
- - haskelldb-hdbc-postgresql
- - haskelldb-hdbc-sqlite3
- - haskelldb-hsql
- - haskelldb-hsql-mysql
- - haskelldb-hsql-odbc
- - haskelldb-hsql-postgresql
- - haskelldb-hsql-sqlite3
- - haskelldb-th
  - haskell-docs
  - haskell-eigen-util
  - haskell-ftp
@@ -1182,10 +1394,27 @@ dont-distribute-packages:
  - haskell-tools-refactor
  - haskell-tools-rewrite
  - haskell-tor
+ - haskelldb-connect-hdbc
+ - haskelldb-connect-hdbc-catchio-mtl
+ - haskelldb-connect-hdbc-catchio-tf
+ - haskelldb-connect-hdbc-catchio-transformers
+ - haskelldb-connect-hdbc-lifted
+ - haskelldb-dynamic
+ - haskelldb-flat
+ - haskelldb-hdbc
+ - haskelldb-hdbc-mysql
+ - haskelldb-hdbc-odbc
+ - haskelldb-hdbc-postgresql
+ - haskelldb-hdbc-sqlite3
+ - haskelldb-hsql
+ - haskelldb-hsql-mysql
+ - haskelldb-hsql-odbc
+ - haskelldb-hsql-postgresql
+ - haskelldb-hsql-sqlite3
+ - haskelldb-th
  - haskelm
  - haskey-mtl
  - haskgame
- - hask-home
  - haskoin-bitcoind
  - haskoin-core
  - haskoin-crypto
@@ -1201,7 +1430,6 @@ dont-distribute-packages:
  - haskore-realtime
  - haskore-supercollider
  - haskore-synthesizer
- - HaskRel
  - hasktorch
  - hasktorch-ffi-thc
  - hasktorch-indef
@@ -1222,16 +1450,9 @@ dont-distribute-packages:
  - haste-lib
  - haste-markup
  - haste-perch
- - has-th
- - Hate
- - HaTeX-meta
  - hatexmpp3
- - HaTeX-qq
- - HaVSA
  - hawitter
- - Hawk
  - haxy
- - Hayoo
  - hback
  - hbayes
  - hbb
@@ -1252,15 +1473,14 @@ dont-distribute-packages:
  - hdph
  - heart-app
  - heatitup
+ - heavy-log-shortcuts
  - heavy-logger
  - heavy-logger-amazon
  - heavy-logger-instances
- - heavy-log-shortcuts
  - hecc
  - hedgehog-checkers-lens
  - hedgehog-fakedata
  - hedgehog-gen-json
- - Hedi
  - hedis-pile
  - heist-aeson
  - helics
@@ -1287,16 +1507,11 @@ dont-distribute-packages:
  - hfd
  - hfiar
  - hgalib
- - HGamer3D-API
- - HGamer3D-CAudio-Binding
- - HGamer3D-OIS-Binding
  - hgen
  - hgeometry-svg
  - hgithub
  - hiccup
  - hierarchical-spectral-clustering
- - Hieroglyph
- - HiggsSet
  - highjson-swagger
  - highjson-th
  - himpy
@@ -1307,8 +1522,6 @@ dont-distribute-packages:
  - hinvaders
  - hinze-streams
  - hipbot
- - HipmunkPlayground
- - Hipmunk-Utils
  - hipsql-client
  - hipsql-server
  - hirt
@@ -1319,15 +1532,9 @@ dont-distribute-packages:
  - hist-pl-lmf
  - hit
  - hit-graph
- - HJScript
  - hjsonschema
  - hjugement-cli
  - hlcm
- - HLearn-algebra
- - HLearn-approximation
- - HLearn-classification
- - HLearn-datastructures
- - HLearn-distributions
  - hledger-api
  - hlrdb
  - hls
@@ -1339,20 +1546,12 @@ dont-distribute-packages:
  - hmm-lapack
  - hmt
  - hmt-diagrams
- - HNM
  - hnormalise
  - hob
- - Hoed
- - hOff-display
  - hogre
  - hogre-examples
- - Holumbus-Distribution
- - Holumbus-MapReduce
- - Holumbus-Searchengine
- - Holumbus-Storage
  - holy-project
  - hommage
- - HongoDB
  - hood
  - hoodie
  - hoodle
@@ -1371,11 +1570,7 @@ dont-distribute-packages:
  - hpage
  - hpaste
  - hpc-tracer
- - hPDB
- - hPDB-examples
  - hplayground
- - HPlot
- - HPong
  - hpqtypes-extras
  - hprotoc-fork
  - hps
@@ -1383,26 +1578,21 @@ dont-distribute-packages:
  - hpython
  - hquantlib
  - hranker
- - HRay
  - hreader
  - hreader-lens
  - hreq-client
  - hreq-conduit
- - HROOT
- - HROOT-core
- - HROOT-graf
- - HROOT-hist
- - HROOT-io
- - HROOT-math
- - HROOT-tree
+ - hs-blake2
+ - hs-brotli
+ - hs-ffmpeg
+ - hs-gen-iface
+ - hs-pkpass
+ - hs-swisstable-hashtables-class
  - hs2dot
- - Hs2lib
  - hsautogui
  - hsbackup
  - hsbencher-codespeed
  - hsbencher-fusion
- - hs-blake2
- - hs-brotli
  - hsc3-auditor
  - hsc3-cairo
  - hsc3-data
@@ -1422,24 +1612,16 @@ dont-distribute-packages:
  - hscassandra
  - hscope
  - hsdev
- - Hsed
  - hset
  - hsfacter
- - hs-ffmpeg
- - hs-gen-iface
- - HSGEP
- - HSHHelpers
  - hslogstash
  - hsnock
- - HSoundFile
- - HsParrot
  - hspec-expectations-pretty
  - hspec-pg-transact
  - hspec-setup
  - hspec-shouldbe
  - hspec-test-sandbox
  - hspecVariant
- - hs-pkpass
  - hsprocess
  - hsql-mysql
  - hsql-odbc
@@ -1450,24 +1632,20 @@ dont-distribute-packages:
  - hsqml-morris
  - hsreadability
  - hssqlppp-th
- - hs-swisstable-hashtables-class
  - hstar
  - hstox
  - hstradeking
- - HStringTemplateHelpers
  - hstzaar
  - hsubconvert
- - HsWebots
  - hswip
  - hsx-jmacro
  - hsx-xhtml
- - HTab
  - hts
- - http2-client-exe
- - http2-client-grpc
  - http-client-auth
  - http-enumerator
  - http-io-streams
+ - http2-client-exe
+ - http2-client-grpc
  - https-everywhere-rules
  - https-everywhere-rules-raw
  - httpspec
@@ -1488,14 +1666,13 @@ dont-distribute-packages:
  - hw-json-simple-cursor
  - hw-json-standard-cursor
  - hw-kafka-avro
+ - hw-simd-cli
+ - hw-uri
  - hworker-ses
  - hwormhole
  - hws
- - hw-simd-cli
  - hwsl2-bytevector
  - hwsl2-reducers
- - hw-uri
- - HXMPP
  - hxmppc
  - hxournal
  - hxt-binary
@@ -1503,7 +1680,6 @@ dont-distribute-packages:
  - hxthelper
  - hxweb
  - hybrid
- - Hydrogen
  - hydrogen-cli
  - hydrogen-cli-args
  - hydrogen-data
@@ -1517,13 +1693,14 @@ dont-distribute-packages:
  - hyloutils
  - hyperpublic
  - ice40-prim
- - ideas-math
- - ideas-math-types
- - ideas-statistics
  - ide-backend
  - ide-backend-common
  - ide-backend-server
+ - ideas-math
+ - ideas-math-types
+ - ideas-statistics
  - ige-mac-integration
+ - ihaskell-inline-r
  - ihaskell-rlangqq
  - ihttp
  - imap
@@ -1539,7 +1716,6 @@ dont-distribute-packages:
  - importify
  - imprevu-happstack
  - improve
- - INblobs
  - inch
  - incremental-computing
  - incremental-maps
@@ -1548,10 +1724,8 @@ dont-distribute-packages:
  - indentation-parsec
  - indentation-trifecta
  - indexation
- - IndexedList
  - indieweb-algorithms
  - infernu
- - InfixApplicative
  - inline-java
  - inspector-wrecker
  - instant-aeson
@@ -1566,7 +1740,6 @@ dont-distribute-packages:
  - intset
  - invertible-hlist
  - ion
- - IORefCAS
  - ipatch
  - ipc
  - ipld-cid
@@ -1581,12 +1754,12 @@ dont-distribute-packages:
  - ismtp
  - isobmff-builder
  - isohunt
+ - iter-stats
  - iteratee-compress
  - iteratee-mtl
  - iteratee-parsec
  - iteratee-stm
  - iterio-server
- - iter-stats
  - ivor
  - ivory-avr-atmega328p-registers
  - ivory-backend-c
@@ -1604,10 +1777,9 @@ dont-distribute-packages:
  - jail
  - java-bridge-extras
  - java-character
- - javaclass
  - java-reflect
+ - javaclass
  - javasf
- - Javasf
  - jmacro
  - jmacro-rpc
  - jmacro-rpc-happstack
@@ -1616,26 +1788,18 @@ dont-distribute-packages:
  - jobs-ui
  - join
  - jot
- - JsContracts
  - jsmw
- - json2-hdbc
  - json-ast-json-encoder
  - json-autotype
  - json-b
- - JSONb
- - JSON-Combinator
- - JSON-Combinator-Examples
  - json-enumerator
- - JsonGrammar
  - json-incremental-decoder
  - json-query
- - jsons-to-schema
  - json-togo
  - json-tokens
+ - json2-hdbc
+ - jsons-to-schema
  - jspath
- - JunkDB-driver-gdbm
- - JunkDB-driver-hashtables
- - JuPyTer-notebook
  - jvm
  - jvm-batching
  - jvm-streaming
@@ -1662,20 +1826,17 @@ dont-distribute-packages:
  - keera-hails-reactive-fs
  - keera-hails-reactive-gtk
  - keera-hails-reactive-htmldom
- - keera-hails-reactivelenses
  - keera-hails-reactive-network
  - keera-hails-reactive-polling
  - keera-hails-reactive-wx
  - keera-hails-reactive-yampa
+ - keera-hails-reactivelenses
  - keera-posture
  - kevin
  - keysafe
  - keyvaluehash
  - keyword-args
  - kicad-data
- - KiCS
- - KiCS-debugger
- - KiCS-prophecy
  - kif-parser
  - kit
  - kleene
@@ -1694,8 +1855,12 @@ dont-distribute-packages:
  - labyrinth
  - labyrinth-server
  - laika
- - lambdabot-zulip
  - lambda-calculator
+ - lambda-devs
+ - lambda-options
+ - lambdaFeed
+ - lambdaLit
+ - lambdabot-zulip
  - lambdacms-media
  - lambdacube
  - lambdacube-bullet
@@ -1706,21 +1871,13 @@ dont-distribute-packages:
  - lambdacube-examples
  - lambdacube-gl
  - lambdacube-samples
- - LambdaDesigner
- - lambda-devs
- - lambdaFeed
- - LambdaINet
- - lambdaLit
- - lambda-options
- - LambdaPrettyQuote
- - LambdaShell
  - lambdaya-bus
  - lambdiff
  - lang
+ - language-Modula2
  - language-boogie
  - language-eiffel
  - language-kort
- - language-Modula2
  - language-ninja
  - language-oberon
  - language-python-colour
@@ -1740,7 +1897,6 @@ dont-distribute-packages:
  - lazy-hash
  - lazy-hash-cache
  - ldapply
- - LDAPv3
  - leaky
  - lean
  - legion
@@ -1776,8 +1932,6 @@ dont-distribute-packages:
  - linear-circuit
  - linearmap-category
  - linearscan-hoopl
- - LinearSplit
- - LinkChecker
  - linkchk
  - linkcore
  - linux-ptrace
@@ -1787,15 +1941,15 @@ dont-distribute-packages:
  - liquid-bytestring
  - liquid-containers
  - liquid-ghc-prim
- - liquidhaskell-cabal-demo
  - liquid-parallel
  - liquid-platform
  - liquid-prelude
  - liquid-vector
- - listenbrainz-client
+ - liquidhaskell-cabal-demo
  - list-t-attoparsec
  - list-t-html-parser
  - list-witnesses
+ - listenbrainz-client
  - live-sequencer
  - llvm
  - llvm-analysis
@@ -1811,57 +1965,51 @@ dont-distribute-packages:
  - llvm-tf
  - llvm-tools
  - lmonad-yesod
- - localize
  - local-search
+ - localize
  - locked-poll
  - log
- - logging-effect-extra
- - logic-classes
- - LogicGrowsOnTrees
- - LogicGrowsOnTrees-MPI
- - LogicGrowsOnTrees-network
- - LogicGrowsOnTrees-processes
  - log-postgres
  - log-utils
+ - logging-effect-extra
+ - logic-classes
  - lojban
  - lojysamban
  - lol-apps
  - lol-benches
  - lol-cpp
- - loli
  - lol-repa
  - lol-tests
  - lol-typing
+ - loli
  - longshot
  - loop-effin
  - lorentz
  - lostcities
  - loup
- - LslPlus
  - ls-usb
  - lsystem
  - lti13
  - luachunk
  - lucid-colonnade
  - lucienne
- - Lucu
  - luhn
  - lui
  - luminance-samples
  - lvish
- - Lykah
  - lz4-conduit
  - lzma-enumerator
+ - mDNSResponder-client
  - macbeth-lib
  - machines-amazonka
  - macosx-make-standalone
+ - magic-wormhole
  - magicbane
  - magico
- - magic-wormhole
  - mahoro
  - maid
- - mailgun
  - mail-pool
+ - mailgun
  - majordomo
  - majority
  - manatee
@@ -1881,27 +2029,24 @@ dont-distribute-packages:
  - manifold-random
  - manifolds
  - marionetta
- - markdown2svg
  - markdown-pap
+ - markdown2svg
  - markov-processes
  - marmalade-upload
  - marquise
  - marvin
  - masakazu-bot
  - matchers
- - mathblog
- - mathlink
  - math-programming-glpk
  - math-programming-tests
+ - mathblog
+ - mathlink
  - matsuri
  - maxent
  - maxent-learner-hw-gui
  - maxsharing
- - MaybeT-transformers
- - MC-Fold-DP
  - mcmc
  - mcmc-samplers
- - mDNSResponder-client
  - mealy
  - mediabus-fdk-aac
  - mediabus-rtp
@@ -1911,20 +2056,13 @@ dont-distribute-packages:
  - mergeful-persistent
  - mergeless-persistent
  - merkle-patricia-db
- - MetaObject
  - meta-par-accelerate
  - metaplug
  - metar
  - metar-http
- - Metrics
  - metronome
- - MFlow
- - Mhailist
- - Michelangelo
- - microformats2-parser
- - microformats2-types
  - micro-gateway
- - MicrosoftTranslator
+ - microformats2-types
  - midimory
  - mighttpd
  - minecraft-data
@@ -1934,11 +2072,9 @@ dont-distribute-packages:
  - minilight-lua
  - minimung
  - minioperational
- - MIP-glpk
  - miss
- - MissingPy
- - missing-py2
  - miss-porcelain
+ - missing-py2
  - mixed-strategies
  - mkbndl
  - mkcabal
@@ -1949,25 +2085,18 @@ dont-distribute-packages:
  - moan
  - modify-fasta
  - modsplit
- - modularity
  - modular-prelude-classy
+ - modularity
  - modulo
  - mole
- - MonadCatchIO-mtl
- - MonadCatchIO-mtl-foreign
- - MonadCatchIO-transformers-foreign
  - monad-exception
- - monadiccp-gecode
- - MonadLab
  - monad-state
  - monad-stlike-stm
+ - monadiccp-gecode
  - monarch
- - Monaris
- - Monatron-IO
  - monetdb-mapi
  - mongrel2-handler
  - monky
- - Monocle
  - monte-carlo
  - moo
  - moo-nad
@@ -1987,16 +2116,12 @@ dont-distribute-packages:
  - msgpack-idl
  - msgpack-rpc
  - msgpack-rpc-conduit
- - MSQueue
  - mtgoxapi
- - MuCheck-Hspec
- - MuCheck-HUnit
- - MuCheck-QuickCheck
- - MuCheck-SmallCheck
  - mu-grpc-client
  - mu-grpc-server
- - multibase
+ - mu-tracing
  - multi-cabal
+ - multibase
  - multifocal
  - multihash-serialise
  - multilinear-io
@@ -2006,7 +2131,6 @@ dont-distribute-packages:
  - multisetrewrite
  - murder
  - murmurhash3
- - musicbrainz-email
  - music-graphics
  - music-parts
  - music-pitch
@@ -2014,39 +2138,36 @@ dont-distribute-packages:
  - music-score
  - music-sibelius
  - music-suite
+ - musicbrainz-email
  - musicxml2
  - mutable-iter
- - MutationOrder
  - mute-unmute
- - mu-tracing
- - mvclient
  - mvc-updates
+ - mvclient
  - mxnet-dataiter
  - mxnet-examples
  - mxnet-nn
+ - myTestlll
  - mysnapsession-example
  - mysql-haskell-openssl
  - mysql-simple-typed
- - myTestlll
  - mywatch
  - n2o-web
  - nakadi-client
  - nanovg-simple
- - NaperianNetCDF
  - nats-queue
  - natural-number
- - NearContextAlgebra
  - nemesis-titan
  - nerf
  - nero-wai
  - nero-warp
  - nested-routes
- - netcore
- - netlines
  - net-spider-cli
  - net-spider-pangraph
  - net-spider-rpl
  - net-spider-rpl-cli
+ - netcore
+ - netlines
  - netstring-enumerator
  - nettle-frp
  - nettle-netkit
@@ -2071,31 +2192,21 @@ dont-distribute-packages:
  - ngrams-loader
  - ngx-export-tools-extra
  - nikepub
- - Ninjas
  - nirum
  - nlp-scores-scripts
- - Nomyx
  - nomyx-api
  - nomyx-core
- - Nomyx-Core
  - nomyx-language
- - Nomyx-Language
  - nomyx-library
- - Nomyx-Rules
  - nomyx-server
- - Nomyx-Web
- - NonEmptyList
- - NoSlow
  - notmuch-haskell
  - notmuch-web
- - numerical
  - numeric-ode
+ - numerical
  - numhask-hedgehog
  - numhask-histogram
  - numhask-range
  - numhask-test
- - Nussinov78
- - NXT
  - nymphaea
  - obd
  - obdd
@@ -2115,17 +2226,12 @@ dont-distribute-packages:
  - one-liner_2_0
  - online
  - online-csv
- - OnRmt
  - open-adt-tutorial
- - OpenAFP-Utils
- - OpenGLCheck
+ - open-union
  - openpgp-crypto-api
- - OpenSCAD
  - openssh-github-keys
  - opentracing-jaeger
  - opentracing-zipkin-v1
- - open-union
- - OpenVG
  - optima-for-hasql
  - optimal-blocks
  - optimusprime
@@ -2133,11 +2239,9 @@ dont-distribute-packages:
  - orchid-demo
  - order-maintenance
  - org-mode-lucid
- - OSM
  - osm-download
  - otp-authenticator
  - padKONTROL
- - PageIO
  - pairing
  - panda
  - pandoc-japanese-filters
@@ -2148,11 +2252,9 @@ dont-distribute-packages:
  - papa-implement
  - papa-semigroupoids
  - paprika
- - Paraiso
- - Parallel-Arrows-Eden
  - parco-attoparsec
- - parconc-examples
  - parco-parsec
+ - parconc-examples
  - parquet-hs
  - parse-help
  - parsestar
@@ -2165,7 +2267,6 @@ dont-distribute-packages:
  - pcapng
  - pcf
  - pcf-font-embed
- - PCLT-DB
  - pdf-slave
  - peakachu
  - pec
@@ -2182,7 +2283,6 @@ dont-distribute-packages:
  - periodic-client-exe
  - periodic-server
  - perm
- - PermuteEffects
  - persistent-audit
  - persistent-hssqlppp
  - persistent-map
@@ -2217,17 +2317,16 @@ dont-distribute-packages:
  - planet-mitchell
  - plocketed
  - ploterific
- - Plot-ho-matic
- - PlslTools
  - png-file
  - pngload
  - pocket-dns
+ - point-octree
  - pointless-lenses
  - pointless-rewrite
- - point-octree
  - poke
  - polh-lexicon
  - polydata
+ - polysemy-RandomFu
  - polysemy-chronos
  - polysemy-conc
  - polysemy-extra
@@ -2244,7 +2343,7 @@ dont-distribute-packages:
  - polysemy-optics
  - polysemy-path
  - polysemy-plugin
- - polysemy-RandomFu
+ - polysemy-readline
  - polysemy-resume
  - polysemy-test
  - polysemy-time
@@ -2277,15 +2376,13 @@ dont-distribute-packages:
  - powerqueue-sqs
  - pqueue-mtl
  - practice-room
- - prednote-test
  - pred-set
  - pred-trie
+ - prednote-test
  - presto-hdbc
  - preview
  - primula-board
  - primula-bot
- - Printf-TH
- - ProbabilityMonads
  - proc
  - process-iterio
  - process-progress
@@ -2303,19 +2400,16 @@ dont-distribute-packages:
  - proplang
  - prosidyc
  - proteome
+ - proto-lens-descriptors
  - proto3-suite
  - protobuf-native
  - protocol-buffers-descriptor-fork
- - proto-lens-descriptors
  - proton
  - psc-ide
  - puffytools
- - Pugs
  - pugs-compat
  - pugs-hsregex
  - punkt
- - Pup-Events
- - Pup-Events-Demo
  - puppetresources
  - pure-cdb
  - pure-priority-queue-tests
@@ -2332,7 +2426,6 @@ dont-distribute-packages:
  - qhs
  - qr-repa
  - quantum-random
- - Quelea
  - queryparser
  - queryparser-demo
  - queryparser-hive
@@ -2376,7 +2469,6 @@ dont-distribute-packages:
  - random-effin
  - random-hypergeometric
  - range-space
- - Ranka
  - rasa
  - rasa-example-config
  - rasa-ext-bufs
@@ -2409,10 +2501,10 @@ dont-distribute-packages:
  - record-aeson
  - record-gl
  - record-preprocessor
- - records-th
  - record-syntax
- - reddit
+ - records-th
  - redHandlers
+ - reddit
  - reduce-equations
  - refh
  - reflex-animation
@@ -2428,8 +2520,8 @@ dont-distribute-packages:
  - regex-genex
  - regex-pcre-text
  - regex-pderiv
- - regexp-tries
  - regex-xmlschema
+ - regexp-tries
  - regional-pointers
  - regions-monadsfd
  - regions-monadstf
@@ -2462,20 +2554,18 @@ dont-distribute-packages:
  - rest-client
  - rest-core
  - rest-example
- - restful-snap
  - rest-gen
  - rest-happstack
- - RESTng
- - restricted-workers
  - rest-snap
  - rest-stringmap
  - rest-types
  - rest-wai
+ - restful-snap
+ - restricted-workers
  - rethinkdb-model
  - rewrite
  - rewriting
  - rezoom
- - rfc
  - rfc-env
  - rfc-http-client
  - rfc-psql
@@ -2491,16 +2581,8 @@ dont-distribute-packages:
  - ripple
  - risc-v
  - rivet
- - Rlang-QQ
  - rlwe-challenges
  - rmonad
- - RMP
- - RNAdesign
- - RNAdraw
- - RNAFold
- - RNAFoldProgs
- - RNAlien
- - RNAwolf
  - rncryptor
  - rob
  - robot
@@ -2512,7 +2594,6 @@ dont-distribute-packages:
  - rollbar-cli
  - rollbar-wai
  - rollbar-yesod
- - RollingDirectory
  - ron-schema
  - ron-storage
  - rose-trie
@@ -2531,7 +2612,7 @@ dont-distribute-packages:
  - ruler
  - ruler-core
  - runtime-arbitrary
- - S3
+ - s-expression
  - safer-file-handles
  - safer-file-handles-bytestring
  - safer-file-handles-text
@@ -2549,29 +2630,25 @@ dont-distribute-packages:
  - samtools-iteratee
  - sarsi
  - sasl
+ - sat-micro-hs
  - satchmo-backends
  - satchmo-examples
  - satchmo-funsat
  - satchmo-minisat
  - satchmo-toysat
- - sat-micro-hs
- - SBench
- - sc2hs
  - sc2-lowlevel
  - sc2-support
+ - sc2hs
  - sc3-rdu
  - scalable-server
- - SCalendar
- - scalpel-search
  - scalp-webhooks
+ - scalpel-search
  - scan-vector-machine
  - schema
  - schematic
  - scholdoc
  - scholdoc-citeproc
  - scholdoc-texmath
- - SciFlow
- - SciFlow-drmaa
  - scion
  - scion-browser
  - scope
@@ -2580,15 +2657,12 @@ dont-distribute-packages:
  - scp-streams
  - scrabble-bot
  - scrapbook
- - SCRIPTWriter
- - Scurry
  - sde-solver
  - seakale-postgresql
  - seakale-tests
  - secrm
  - sednaDBXML
  - seitz-symbol
- - SelectSequencesFromMSA
  - selenium-server
  - self-extract
  - semi-iso
@@ -2603,6 +2677,7 @@ dont-distribute-packages:
  - sequor
  - serpentine
  - serv
+ - serv-wai
  - servant-auth-token
  - servant-auth-token-acid
  - servant-auth-token-leveldb
@@ -2631,12 +2706,7 @@ dont-distribute-packages:
  - servant-zeppelin-client
  - servant-zeppelin-server
  - servant-zeppelin-swagger
- - serv-wai
  - sessiontypes-distributed
- - s-expression
- - SFML-control
- - SFont
- - SGdemo
  - sgf
  - sgrep
  - sha1
@@ -2645,27 +2715,13 @@ dont-distribute-packages:
  - shapefile
  - shapely-data
  - shelduck
- - Shellac-compatline
- - Shellac-editline
- - Shellac-haskeline
- - Shellac-readline
  - shellmate-extras
  - shine-varying
- - ShortestPathProblems
  - showdown
- - Shpadoinkle-backend-pardiff
- - Shpadoinkle-backend-static
- - Shpadoinkle-developer-tools
- - Shpadoinkle-disembodied
- - Shpadoinkle-examples
- - Shpadoinkle-html
- - Shpadoinkle-router
- - Shpadoinkle-template
- - Shpadoinkle-widgets
  - shpider
  - shuffle
- - sibe
  - si-clock
+ - sibe
  - sigma-ij
  - signable
  - signals
@@ -2675,12 +2731,9 @@ dont-distribute-packages:
  - simgi
  - simple-c-value
  - simple-firewire
- - SimpleGL
- - simpleirc-lens
- - SimpleLog
  - simple-nix
  - simple-pascal
- - SimpleServer
+ - simpleirc-lens
  - simseq
  - singleton-nats_0_4_6
  - singletons-base
@@ -2697,7 +2750,6 @@ dont-distribute-packages:
  - smcdel
  - smith-cli
  - smith-client
- - Smooth
  - smtlib2-debug
  - smtlib2-pipe
  - smtlib2-quickcheck
@@ -2706,6 +2758,7 @@ dont-distribute-packages:
  - snap-auth-cli
  - snap-elm
  - snap-extras
+ - snap-utils
  - snaplet-actionlog
  - snaplet-auth-acid
  - snaplet-coffee
@@ -2728,17 +2781,13 @@ dont-distribute-packages:
  - snaplet-tasks
  - snaplet-wordpress
  - snappy-iteratee
- - snap-utils
  - sndfile-enumerators
  - sneathlane-haste
  - snm
  - snmp
+ - snow-white
  - snowflake-core
  - snowflake-server
- - snow-white
- - Snusmumrik
- - SoccerFun
- - SoccerFunGL
  - sock2stream
  - sockets
  - solga-swagger
@@ -2747,7 +2796,6 @@ dont-distribute-packages:
  - sounddelay
  - soundgen
  - source-code-server
- - SourceGraph
  - sparkle
  - sparrow
  - sparsebit
@@ -2762,49 +2810,41 @@ dont-distribute-packages:
  - sphero
  - sphinx-cli
  - spice
- - SpinCounter
  - spline3
  - splines
- - Spock-auth
- - Spock-lucid
- - Spock-worker
  - sprinkles
  - sproxy
- - sproxy2
  - sproxy-web
- - sqlite-simple-typed
+ - sproxy2
  - sql-simple-mysql
  - sql-simple-pool
  - sql-simple-postgresql
  - sql-simple-sqlite
+ - sqlite-simple-typed
  - sr-extra
  - sscgi
  - sshd-lint
  - sssp
  - sstable
  - stable-tree
+ - stack-hpc-coveralls
+ - stack-network
+ - stack-run-auto
  - stackage
- - stackage2nix
  - stackage-build-plan
  - stackage-cabal
  - stackage-query
  - stackage-sandbox
  - stackage-setup
  - stackage-upload
- - stack-hpc-coveralls
- - stack-network
- - stack-run-auto
+ - stackage2nix
  - starrover2
  - stateful-mtl
  - static-closure
  - statsd-client
  - statsdi
- - STLinkUSB
- - STM32-Zombie
  - stmcontrol
- - StockholmAlignment
  - storablevector-streamfusion
- - Strafunski-Sdf2Haskell
  - stratux
  - stratux-demo
  - stratux-http
@@ -2837,38 +2877,36 @@ dont-distribute-packages:
  - superconstraints
  - sv
  - sv-cassava
+ - sv-svfactor
  - svg2q
- - SVG2Q
  - svgone
- - sv-svfactor
  - swapper
  - swearjure
  - sweet-egison
  - switch
  - sylvia
+ - sym-plot
  - symantic-atom
  - symantic-lib
  - symbiote
  - symmetry-operations-symbols
- - sym-plot
  - syncthing-hs
  - syntax
  - syntax-attoparsec
  - syntax-example
  - syntax-example-json
- - SyntaxMacros
- - syntaxnet-haskell
  - syntax-pretty
  - syntax-printer
+ - syntaxnet-haskell
  - synthesizer-llvm
  - systemstats
  - t3-client
  - ta
+ - tag-stream
  - tagged-list
  - tagged-th
  - tagsoup-navigate
  - tagstew
- - tag-stream
  - tal
  - tamarin-prover
  - tamarin-prover-term
@@ -2883,15 +2921,12 @@ dont-distribute-packages:
  - tasty-laws
  - tasty-lens
  - tateti-tateti
- - Taxonomy
- - TaxonomyTools
  - tbox
  - tccli
  - tdd-util
  - tdlib
  - tdlib-gen
  - tdlib-types
- - TeaHS
  - techlab
  - telegram-bot
  - telegram-raw-api
@@ -2901,35 +2936,34 @@ dont-distribute-packages:
  - tensorflow-ops
  - terminal-text
  - terrahs
- - testbench
  - test-framework-sandbox
  - test-sandbox-compose
  - test-sandbox-hunit
  - test-sandbox-quickcheck
  - test-simple
- - TeX-my-math
- - textmatetags
+ - testbench
  - text-plus
  - text-trie
  - text-xml-generic
+ - textmatetags
  - th-alpha
  - th-context
+ - th-instances
+ - th-typegraph
  - theatre
  - theoremquest-client
  - thimk
- - th-instances
- - th-typegraph
  - thumbnail-polish
- - tickle
  - tic-tac-toe
+ - tickle
  - tidal-serial
  - tighttp
  - timberc
  - time-exts
  - time-http
  - time-io-access
- - timeprint
  - time-warp
+ - timeprint
  - timezone-unix
  - tinyMesh
  - tip-haskell-frontend
@@ -2937,13 +2971,13 @@ dont-distribute-packages:
  - titan
  - tls-extra
  - tn
+ - to-string-instances
  - toboggan
  - todos
  - toktok
  - too-many-cells
  - top
  - topkata
- - to-string-instances
  - total-map
  - toxcore
  - toxcore-c
@@ -2963,14 +2997,11 @@ dont-distribute-packages:
  - trasa-reflex
  - trasa-server
  - trasa-th
- - TreeCounter
  - treemap-html-tools
  - treersec
- - Treiber
  - trek-app
  - trek-db
  - triangulation
- - TrieMap
  - tries
  - trimpolya
  - truelevel
@@ -2997,22 +3028,20 @@ dont-distribute-packages:
  - type-assertions
  - type-cache
  - type-cereal
- - TypeClass
  - type-combinators-quote
  - type-combinators-singletons
- - typed-encoding-encoding
  - type-digits
- - typed-spreadsheet
- - typed-streams
- - TypeIlluminator
- - typelevel
- - typelevel-rewrite-rules
  - type-ord
  - type-ord-spine-cereal
- - typescript-docs
  - type-sets
  - type-structure
  - type-sub-th
+ - typed-encoding-encoding
+ - typed-spreadsheet
+ - typed-streams
+ - typelevel
+ - typelevel-rewrite-rules
+ - typescript-docs
  - typson-beam
  - typson-esqueleto
  - typson-selda
@@ -3021,20 +3050,19 @@ dont-distribute-packages:
  - ucam-webauth
  - uhc-light
  - uhc-util
- - UMM
  - unagi-bloomfilter
  - unbound
  - unfoldable-restricted
- - unicode-normalization
  - uni-events
- - uniformBase
- - uniform-io
  - uni-graphs
  - uni-htk
  - uni-posixutil
- - uniqueness-periods-vector-examples
  - uni-reactor
  - uni-uDrawGraph
+ - unicode-normalization
+ - uniform-io
+ - uniformBase
+ - uniqueness-periods-vector-examples
  - universe-th
  - unix-fcntl
  - unix-simple
@@ -3050,8 +3078,6 @@ dont-distribute-packages:
  - urembed
  - uri-enumerator
  - uri-enumerator-file
- - UrlDisp
- - URLT
  - usb
  - usb-enumerator
  - usb-hid
@@ -3087,7 +3113,6 @@ dont-distribute-packages:
  - vformat-aeson
  - vformat-time
  - vfr-waypoints
- - ViennaRNA-extras
  - vigilance
  - vimeta
  - vinyl-operational
@@ -3101,7 +3126,6 @@ dont-distribute-packages:
  - vty-ui-extras
  - waargonaut
  - wahsp
- - wai-cli
  - wai-devel
  - wai-dispatch
  - wai-handler-snap
@@ -3116,26 +3140,18 @@ dont-distribute-packages:
  - wai-thrift
  - waldo
  - warped
- - WashNGo
- - WAVE
- - WaveFront
  - wavesurfer
  - wavy
- - web3
- - webapi
- - WebBits-Html
- - WebBits-multiplate
- - WebCont
- - webcrank-wai
- - webdriver-w3c
  - web-mongrel2
  - web-page
  - web-rep
  - web-routes-regular
  - web-routing
+ - web3
+ - webapi
+ - webcrank-wai
+ - webdriver-w3c
  - webserver
- - WEditorBrick
- - WEditorHyphen
  - weighted
  - werewolf-slack
  - what4
@@ -3146,13 +3162,11 @@ dont-distribute-packages:
  - wikipedia4epub
  - windowslive
  - winio
- - WL500gPControl
- - wlc-hs
  - wl-pprint-ansiterm
  - wl-pprint-terminfo
+ - wlc-hs
  - wobsurv
  - wolf
- - WordAlignment
  - workflow-extra
  - workflow-pure
  - workflow-types
@@ -3163,28 +3177,23 @@ dont-distribute-packages:
  - writer-cps-full
  - wss-client
  - wtk-gtk
+ - wu-wei
  - wumpus-basic
  - wumpus-drawing
  - wumpus-microprint
  - wumpus-tree
- - WURFL
- - wu-wei
  - wx
  - wxAsteroids
+ - wxFruit
+ - wxSimpleCanvas
  - wxc
  - wxcore
- - WXDiffCtrl
- - wxFruit
- - WxGeneric
  - wxhnotepad
- - wxSimpleCanvas
  - wxturtle
  - wyvern
  - xdcc
  - xhb-atom-cache
  - xhb-ewmh
- - XML
- - xml2x
  - xml-catalog
  - xml-enumerator
  - xml-enumerator-combinators
@@ -3193,34 +3202,31 @@ dont-distribute-packages:
  - xml-push
  - xml-query-xml-conduit
  - xml-query-xml-types
- - xmltv
  - xml-tydom-conduit
+ - xml2x
+ - xmltv
  - xmms2-client
  - xmms2-client-glib
  - xmonad-contrib-bluetilebranch
  - xmpipe
- - XMPP
  - xournal-builder
  - xournal-convert
  - xournal-parser
  - xournal-render
- - XSaiga
  - xtc
- - Yablog
- - YACPong
  - yajl-enumerator
  - yam
  - yam-datasource
  - yam-job
  - yam-logger
- - yaml-rpc-scotty
- - yaml-rpc-snap
- - yaml-unscrambler
  - yam-redis
  - yam-transaction
  - yam-transaction-odbc
  - yam-transaction-postgresql
  - yam-web
+ - yaml-rpc-scotty
+ - yaml-rpc-snap
+ - yaml-unscrambler
  - yarr-image-io
  - yavie
  - ycextra
@@ -3243,15 +3249,12 @@ dont-distribute-packages:
  - yesod-session-redis
  - yjftp
  - yjftp-libs
- - Yogurt
- - Yogurt-Standalone
  - yoko
  - york-lava
  - yql
  - yu-launch
  - yuuko
  - zasni-gerna
- - Z-Botan
  - zephyr
  - zerobin
  - zeromq3-conduit
@@ -3263,16 +3266,13 @@ dont-distribute-packages:
  - zifter-hindent
  - zifter-hlint
  - zifter-stack
- - Z-IO
  - zipper
  - zippo
  - ziptastic-client
  - zlib-enum
  - zmcat
- - Z-MessagePack
  - zoom-cache
  - zoom-cache-pcm
  - zoom-cache-sndfile
  - zoovisitor
  - zuramaru
- - Z-YAML
diff --git a/nixpkgs/pkgs/development/haskell-modules/generic-builder.nix b/nixpkgs/pkgs/development/haskell-modules/generic-builder.nix
index 2b2f23e20eaf..e76f5012f957 100644
--- a/nixpkgs/pkgs/development/haskell-modules/generic-builder.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/generic-builder.nix
@@ -44,6 +44,7 @@ in
 , libraryFrameworkDepends ? [], executableFrameworkDepends ? []
 , homepage ? "https://hackage.haskell.org/package/${pname}"
 , platforms ? with lib.platforms; all # GHC can cross-compile
+, badPlatforms ? lib.platforms.none
 , hydraPlatforms ? null
 , hyperlinkSource ? true
 , isExecutable ? false, isLibrary ? !isExecutable
@@ -52,6 +53,7 @@ in
 , enableParallelBuilding ? true
 , maintainers ? null
 , changelog ? null
+, mainProgram ? null
 , doCoverage ? false
 , doHaddock ? !(ghc.isHaLVM or false)
 , passthru ? {}
@@ -289,7 +291,7 @@ in lib.fix (drv:
 assert allPkgconfigDepends != [] -> pkg-config != null;
 
 stdenv.mkDerivation ({
-  name = "${pname}-${version}";
+  inherit pname version;
 
   outputs = [ "out" ]
          ++ (optional enableSeparateDataOutput "data")
@@ -663,7 +665,9 @@ stdenv.mkDerivation ({
          // optionalAttrs (args ? description)    { inherit description; }
          // optionalAttrs (args ? maintainers)    { inherit maintainers; }
          // optionalAttrs (args ? hydraPlatforms) { inherit hydraPlatforms; }
+         // optionalAttrs (args ? badPlatforms)   { inherit badPlatforms; }
          // optionalAttrs (args ? changelog)      { inherit changelog; }
+         // optionalAttrs (args ? mainProgram)    { inherit mainProgram; }
          ;
 
 }
diff --git a/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix b/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix
index 87864a11e56a..4e8e61c05b08 100644
--- a/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix
@@ -7753,6 +7753,7 @@ self: {
        ];
        description = "The Haskell/R mixed programming environment";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "HABQT" = callPackage
@@ -8818,17 +8819,17 @@ self: {
     ({ mkDerivation, base, constraints, containers, data-default
      , deepseq, directory, doctest-exitcode-stdio, doctest-lib
      , exceptions, extra, hspec, monad-control, mono-traversable, mtl
-     , QuickCheck, regex-tdfa, syb, template-haskell, transformers-base
-     , unliftio
+     , QuickCheck, regex-tdfa, stm, syb, template-haskell
+     , transformers-base, unliftio
      }:
      mkDerivation {
        pname = "HMock";
-       version = "0.1.0.1";
-       sha256 = "1viv8aggapxvk1akm1z3976h4b12wa8zwkr5qinfpvmsgvlkhhlz";
+       version = "0.2.0.0";
+       sha256 = "1i5b9fxb5fii3ib97dncr5pfsylj5bsppi45qx7wq1idmz0fq3rj";
        libraryHaskellDepends = [
          base constraints containers data-default exceptions extra
-         monad-control mono-traversable mtl regex-tdfa syb template-haskell
-         transformers-base unliftio
+         monad-control mono-traversable mtl regex-tdfa stm syb
+         template-haskell transformers-base unliftio
        ];
        testHaskellDepends = [
          base containers data-default deepseq directory
@@ -35089,8 +35090,8 @@ self: {
      }:
      mkDerivation {
        pname = "attoparsec-data";
-       version = "1.0.5.1";
-       sha256 = "1fn28rg79w5kkv3lrmqjcff8fhn1kc2b84vnblr0xqbfdjdbzgp6";
+       version = "1.0.5.2";
+       sha256 = "05x7xij5jyfzcl0hyjjw4lxlzgkmi55q48s5vbgvba48a2crv0qj";
        libraryHaskellDepends = [
          attoparsec attoparsec-time base bytestring scientific text time
          uuid
@@ -35234,16 +35235,12 @@ self: {
      }) {};
 
   "attoparsec-time" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, scientific, text
-     , time
-     }:
+    ({ mkDerivation, attoparsec, base, bytestring, text, time }:
      mkDerivation {
        pname = "attoparsec-time";
-       version = "1.0.1.1";
-       sha256 = "1g3wfc499zdz79i06hgg4286ky9yv4mi3jgq1zf92ik1wcw23q6l";
-       libraryHaskellDepends = [
-         attoparsec base bytestring scientific text time
-       ];
+       version = "1.0.1.2";
+       sha256 = "1pc4dy4d6q11cfmgrg41h2nm34vgnnarah85gnwbd6x48cissrpp";
+       libraryHaskellDepends = [ attoparsec base bytestring text time ];
        description = "Attoparsec parsers of time";
        license = lib.licenses.mit;
      }) {};
@@ -38232,6 +38229,8 @@ self: {
        pname = "base32";
        version = "0.2.1.0";
        sha256 = "1c1qzbri6m8b2m1cr68vrjbny6wlvfyrbfyzd61s83a3y3w39plp";
+       revision = "1";
+       editedCabalFile = "0apyphnlsnr16s5xb9b9g7d5aw3ny4qx8nz8y71zpglk63sy0cq0";
        libraryHaskellDepends = [
          base bytestring deepseq ghc-byteorder text text-short
        ];
@@ -39495,6 +39494,35 @@ self: {
        broken = true;
      }) {};
 
+  "bech32_1_1_1" = callPackage
+    ({ mkDerivation, array, base, base58-bytestring, bytestring
+     , containers, deepseq, extra, hspec, hspec-discover, memory
+     , optparse-applicative, process, QuickCheck, text, vector
+     }:
+     mkDerivation {
+       pname = "bech32";
+       version = "1.1.1";
+       sha256 = "0ibdibki3f51wpxby3cl6p0xzd32ddczlg2dcqxy7lgx7j3h9xgn";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base bytestring containers extra text
+       ];
+       executableHaskellDepends = [
+         base base58-bytestring bytestring extra memory optparse-applicative
+         text
+       ];
+       testHaskellDepends = [
+         base base58-bytestring bytestring containers deepseq extra hspec
+         memory process QuickCheck text vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Implementation of the Bech32 cryptocurrency address format (BIP 0173)";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "bech32-th" = callPackage
     ({ mkDerivation, base, bech32, hspec, hspec-discover
      , template-haskell, text
@@ -39513,6 +39541,22 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "bech32-th_1_1_1" = callPackage
+    ({ mkDerivation, base, bech32, hspec, hspec-discover
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "bech32-th";
+       version = "1.1.1";
+       sha256 = "0548an9v6y14qalb1agl5bskcmpb9865lxyap162xzgskd9s4iik";
+       libraryHaskellDepends = [ base bech32 template-haskell text ];
+       testHaskellDepends = [ base bech32 hspec template-haskell ];
+       testToolDepends = [ hspec-discover ];
+       description = "Template Haskell extensions to the Bech32 library";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "bed-and-breakfast" = callPackage
     ({ mkDerivation, array, base, binary, cpphs, deepseq, QuickCheck
      , template-haskell
@@ -44256,8 +44300,8 @@ self: {
      }:
      mkDerivation {
        pname = "blucontrol";
-       version = "0.5.1.1";
-       sha256 = "0v3ifwxjbxm86ybn5daqqfdm4nmbfzlbkyc19d4nawnzjyf8v2p9";
+       version = "0.6.0.0";
+       sha256 = "1rywy6r5wachz3y9vw1iy5b46fvlxcv5s33lrriffimqprkglbcj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -47353,8 +47397,8 @@ self: {
      }:
      mkDerivation {
        pname = "bytebuild";
-       version = "0.3.7.0";
-       sha256 = "1vckm98sarxzqh6ib89y5kzhbf1yxc9wgrbpwbsrh0dv5gi3pclj";
+       version = "0.3.8.0";
+       sha256 = "19gg4qjlj595j8zd0n6cz2kgz70g8z6w666c6wlf5lj32j8p6yh5";
        libraryHaskellDepends = [
          base byteslice bytestring integer-logarithms natural-arithmetic
          primitive primitive-offset primitive-unlifted run-st text-short
@@ -50184,8 +50228,8 @@ self: {
      }:
      mkDerivation {
        pname = "calamity";
-       version = "0.1.30.2";
-       sha256 = "0i0v8cb0a3mbkrb3liw60gb7zflnps5w04a6nx5aynini7mpwanj";
+       version = "0.1.30.3";
+       sha256 = "0r6vrcdqqf6a8rihjgppmp625ws5vmsmq98i177xfg14hsal49pp";
        libraryHaskellDepends = [
          aeson async base bytestring calamity-commands colour
          concurrent-extra connection containers data-default-class
@@ -53125,7 +53169,6 @@ self: {
        ];
        description = "A REST Web Api server template for building (micro)services";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "chalk" = callPackage
@@ -54638,6 +54681,8 @@ self: {
        ];
        description = "Channel/Arrow based streaming computation library";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "cielo" = callPackage
@@ -58667,6 +58712,24 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "colour_2_3_6" = callPackage
+    ({ mkDerivation, base, QuickCheck, random, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "colour";
+       version = "2.3.6";
+       sha256 = "0wgqj64mh2y2zk77kv59k3xb3dk4wmgfp988y74sp9a4d76mvlrc";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base QuickCheck random test-framework test-framework-quickcheck2
+       ];
+       description = "A model for human colour/color perception";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "colour-accelerate" = callPackage
     ({ mkDerivation, accelerate, base }:
      mkDerivation {
@@ -67215,8 +67278,8 @@ self: {
      }:
      mkDerivation {
        pname = "cuckoo";
-       version = "0.2.1";
-       sha256 = "1bv39vfg0yzancyya1cdbrcdc0gasp0djcc9ryiwrc3kf9y0nbzn";
+       version = "0.2.2";
+       sha256 = "1wm81a5fsq0wdvx3ayxfrljya7rm9c0vfmy5dhxa6h9zxnqrkvav";
        libraryHaskellDepends = [ base memory primitive random vector ];
        testHaskellDepends = [
          base bytestring cryptonite doctest hashable memory primitive
@@ -69699,6 +69762,18 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "data-lens-light_0_1_2_3" = callPackage
+    ({ mkDerivation, base, mtl, template-haskell }:
+     mkDerivation {
+       pname = "data-lens-light";
+       version = "0.1.2.3";
+       sha256 = "1xczbmgin315qh9wpl6v2vvnp6hv1irfbfqs7pk034qcpx61fwdl";
+       libraryHaskellDepends = [ base mtl template-haskell ];
+       description = "Simple lenses, minimum dependencies";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "data-lens-template" = callPackage
     ({ mkDerivation, base, data-lens, template-haskell }:
      mkDerivation {
@@ -73854,6 +73929,8 @@ self: {
        pname = "dhall-docs";
        version = "1.0.6";
        sha256 = "004n8kh8riw67aqwp6z9199jwv2c9r1dbkg92s71vd9zc04wxljv";
+       revision = "1";
+       editedCabalFile = "1m8ms4y4pxiays620k4zjf7hnfk103y990pnhnb6hr0h70n7i157";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -74537,6 +74614,8 @@ self: {
        pname = "diagrams-graphviz";
        version = "1.4.1.1";
        sha256 = "0lscrxd682jvyrl5bj4dxp7593qwyis01sl0p4jm2jfn335wdq40";
+       revision = "1";
+       editedCabalFile = "1qx69541pxf71whfz2a913yzbhfcks2pyzfprkgrcmiiyv0a3i7b";
        libraryHaskellDepends = [
          base containers diagrams-lib fgl graphviz split
        ];
@@ -75620,8 +75699,8 @@ self: {
      }:
      mkDerivation {
        pname = "digraph";
-       version = "0.2";
-       sha256 = "0k6kr1vr25i2jvv2q1xby06b7xkpg2dr4sq2ffnv0lmznshjy8y5";
+       version = "0.2.1";
+       sha256 = "04x8y6snlfm8w22l0mn58sqbgdsc3av9l6qz2wqfdjmcp7h7s79r";
        libraryHaskellDepends = [
          base containers deepseq hashable massiv mwc-random streaming
          transformers unordered-containers
@@ -78678,8 +78757,8 @@ self: {
      }:
      mkDerivation {
        pname = "domain";
-       version = "0.1.1.1";
-       sha256 = "1vy789dv1lpha2bxvr0x1vk2vvgb9z43abkqi1rbj2vvirqsbr1n";
+       version = "0.1.1.2";
+       sha256 = "0s4x7jhhcx94fzi8cg5bqfqn2vajdlv1yjrakfnfdqk187zbdc6r";
        libraryHaskellDepends = [
          attoparsec base bytestring domain-core foldl hashable
          parser-combinators template-haskell template-haskell-compat-v0208
@@ -78687,7 +78766,8 @@ self: {
        ];
        testHaskellDepends = [
          base domain-core QuickCheck quickcheck-instances rerebase tasty
-         tasty-hunit tasty-quickcheck template-haskell text th-orphans
+         tasty-hunit tasty-quickcheck template-haskell
+         template-haskell-compat-v0208 text th-orphans
        ];
        description = "Codegen helping you define domain models";
        license = lib.licenses.mit;
@@ -85429,7 +85509,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "esqueleto_3_5_1_0" = callPackage
+  "esqueleto_3_5_2_0" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, blaze-html, bytestring
      , conduit, containers, exceptions, hspec, hspec-core, monad-logger
      , mtl, mysql, mysql-simple, persistent, persistent-mysql
@@ -85439,8 +85519,8 @@ self: {
      }:
      mkDerivation {
        pname = "esqueleto";
-       version = "3.5.1.0";
-       sha256 = "1r77lym11gh53059b3hg5wyzb4ymaynk5awrmzgnwfkmx041sqp8";
+       version = "3.5.2.0";
+       sha256 = "06z5n0nbyrdvzlfqmx3jvh76kkss3bis19k5ppqkifsfgwi07rzw";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-html bytestring conduit containers
          monad-logger persistent resourcet tagged text time transformers
@@ -88678,8 +88758,8 @@ self: {
      }:
      mkDerivation {
        pname = "fakedata-quickcheck";
-       version = "0.1.0";
-       sha256 = "0al5brin9bs0553rrw073za4jzw2whrf05yj6h34lmx4kxzciv6s";
+       version = "0.2.0";
+       sha256 = "0m70r66vbkgi1d016cpgahaas17hysabp44nigz4cda9l3x6qmh6";
        libraryHaskellDepends = [ base fakedata QuickCheck random ];
        testHaskellDepends = [
          base fakedata hspec hspec-core QuickCheck random regex-tdfa text
@@ -96670,8 +96750,8 @@ self: {
      }:
      mkDerivation {
        pname = "funcons-tools";
-       version = "0.2.0.11";
-       sha256 = "1gi7db5mjq25xwl27ihsrg0ya1jgw5zhki5c1431rizj72yx5ji9";
+       version = "0.2.0.13";
+       sha256 = "0favv5lfhhhsjasn0gfx2m9q18j8qjk3w92ih78nqaam8gfg59vm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -96693,10 +96773,10 @@ self: {
     ({ mkDerivation, base, bv, containers, multiset, text, vector }:
      mkDerivation {
        pname = "funcons-values";
-       version = "0.1.0.7";
-       sha256 = "0jdgwv44gs4zr8z5pg6lzikrgn3dzna8z0vriq71anlifjyci8yq";
+       version = "0.1.0.9";
+       sha256 = "1817jhp9vpipkvxdqvn4yj88z7z3pyrxs22h4d51c3056ighq6wn";
        revision = "1";
-       editedCabalFile = "1aam84wminmcy530vkv8g2qkag6gz45yyx5xks7gq1y7jifm1kkb";
+       editedCabalFile = "1g807b4lpz0whz0v4xl7y0qj0682y9lvmng06rxxyabn2lcvx5sc";
        libraryHaskellDepends = [
          base bv containers multiset text vector
        ];
@@ -97353,6 +97433,8 @@ self: {
        pname = "futhark-data";
        version = "1.0.0.1";
        sha256 = "126b7igrk0aldj4kjwkyvvsy3v64g9iv6w9ladbbfnd4qw7svswm";
+       revision = "1";
+       editedCabalFile = "08p820dmdlg5x6ikgi69sddkywj71cnnjwz2fppnv901bbn55fav";
        libraryHaskellDepends = [
          base binary bytestring bytestring-to-vector containers megaparsec
          mtl text vector vector-binary-instances
@@ -104049,8 +104131,9 @@ self: {
        libraryPkgconfigDepends = [ libwnck ];
        description = "Wnck bindings";
        license = lib.licenses.lgpl21Only;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
+       platforms = [
+         "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
+       ];
      }) {inherit (pkgs) libwnck;};
 
   "gi-xlib" = callPackage
@@ -104890,6 +104973,27 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "githash_0_1_6_1" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, hspec
+     , process, template-haskell, temporary, th-compat, unliftio
+     }:
+     mkDerivation {
+       pname = "githash";
+       version = "0.1.6.1";
+       sha256 = "0g922g2l3xv795gvhri5ccrh751dnyckjs7mzv1d8pg2lffpj0bi";
+       libraryHaskellDepends = [
+         base bytestring directory filepath process template-haskell
+         th-compat
+       ];
+       testHaskellDepends = [
+         base bytestring directory filepath hspec process template-haskell
+         temporary th-compat unliftio
+       ];
+       description = "Compile git revision info into Haskell projects";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "github" = callPackage
     ({ mkDerivation, aeson, base, base-compat, base16-bytestring
      , binary, binary-instances, bytestring, containers, cryptohash-sha1
@@ -105266,6 +105370,26 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "gitlab-haskell_0_3_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, connection, http-conduit
+     , http-types, tasty, tasty-hunit, temporary, text, time
+     , transformers, unix, unliftio, unliftio-core
+     }:
+     mkDerivation {
+       pname = "gitlab-haskell";
+       version = "0.3.0";
+       sha256 = "0krcan8i9lkickl77r9dyf93k96yxj5zp0asmzq86ds13m8f3s9i";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson base bytestring connection http-conduit http-types temporary
+         text time transformers unix unliftio unliftio-core
+       ];
+       testHaskellDepends = [ aeson base bytestring tasty tasty-hunit ];
+       description = "A Haskell library for the GitLab web API";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "gitlib" = callPackage
     ({ mkDerivation, base, base16-bytestring, bytestring, conduit
      , conduit-combinators, containers, directory, exceptions, filepath
@@ -129646,8 +129770,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-flow";
-       version = "0.14.3.0";
-       sha256 = "113lr6b47fs3900wrn8fg1kxcbvfh91gla7585h13miz3wyjbdyf";
+       version = "0.14.4";
+       sha256 = "1qvh5vgnk6vrhhr1kjqsycz13acxa7ynpqnd1bmchfl4q3aga9gw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -138853,6 +138977,8 @@ self: {
        ];
        description = "SSH protocol implementation";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hsshellscript" = callPackage
@@ -139686,8 +139812,8 @@ self: {
        pname = "html-parse";
        version = "0.2.0.2";
        sha256 = "0dm771lrrqc87ygbr3dzyl1vsyi30jgr7l0isvsbqyah7s4zyg38";
-       revision = "1";
-       editedCabalFile = "1hr9bskwwx3svxqaxcyaz8v0brli1bb03xcvg7zpgbisf8x6r316";
+       revision = "2";
+       editedCabalFile = "1arck1sfcnqfczpi6zq4rja3svd3vcxxdi69dv9983v3sl01hk2g";
        libraryHaskellDepends = [
          attoparsec base containers deepseq text
        ];
@@ -144402,8 +144528,8 @@ self: {
      }:
      mkDerivation {
        pname = "hypertypes";
-       version = "0.1.0.1";
-       sha256 = "0b3cnjw07pryqslnx0k6lxdpwnihnk6pnhp6l9d09mqyxymd9nyx";
+       version = "0.1.0.2";
+       sha256 = "1zh10884a2fvj06ndh4hz2vk97x4nibr57b30kgq731x4q50zgfs";
        libraryHaskellDepends = [
          array base base-compat binary constraints containers deepseq
          generic-constraints generic-data lattices lens monad-st mtl pretty
@@ -145703,6 +145829,7 @@ self: {
        ];
        description = "Embed R quasiquotes and plots in IHaskell notebooks";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ihaskell-juicypixels" = callPackage
@@ -147694,6 +147821,8 @@ self: {
        ];
        description = "Seamlessly call R from Haskell and vice versa. No FFI required.";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) R;};
 
   "inliterate" = callPackage
@@ -149399,8 +149528,8 @@ self: {
     ({ mkDerivation, base, binary, bytestring, iproute }:
      mkDerivation {
        pname = "ip2location";
-       version = "8.2.1";
-       sha256 = "1ccr15yn2ska5wgwlcnfpi9w1xxkly0pwqibmdl9a1ggmwfsskv0";
+       version = "8.3.1";
+       sha256 = "01sdx0j0rm7rgylac51mk4ph5krdnzdd8532di5g5ik3p112dzg8";
        libraryHaskellDepends = [ base binary bytestring iproute ];
        description = "IP2Location Haskell package for IP geolocation";
        license = lib.licenses.mit;
@@ -153778,8 +153907,8 @@ self: {
      }:
      mkDerivation {
        pname = "jukebox";
-       version = "0.5.3";
-       sha256 = "00774gby970jxa69zw8baki40r6nw7vrprc670n8skmlp03p38j2";
+       version = "0.5.4";
+       sha256 = "10lmx9xwikk4sbc3ffpzqff9qxpphgp2q8w2rdm2iskaa7qi3skn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -156121,8 +156250,8 @@ self: {
      }:
      mkDerivation {
        pname = "knit";
-       version = "0.2.0.0";
-       sha256 = "0a1swv5w9fxissxqr2x61qijqyhdxs71fv21fjz4r0kcqywnvy6x";
+       version = "0.3.0.0";
+       sha256 = "0wp16yrlibfl32b4akcwali074wxar96mvaykgh0xsf4pq1czx3q";
        libraryHaskellDepends = [
          base bytestring containers deepseq hashtables vector
        ];
@@ -164941,6 +165070,31 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "literatex_0_2_0_0" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, bytestring, conduit
+     , filepath, optparse-applicative, tasty, tasty-hunit, text, ttc
+     , unliftio
+     }:
+     mkDerivation {
+       pname = "literatex";
+       version = "0.2.0.0";
+       sha256 = "1j5x1hfh71jpywgwpbyir74h58b6lzaj7gpk2f07xlcwqmm68syz";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring conduit text ttc unliftio
+       ];
+       executableHaskellDepends = [
+         ansi-wl-pprint base optparse-applicative ttc
+       ];
+       testHaskellDepends = [
+         base bytestring filepath tasty tasty-hunit text ttc unliftio
+       ];
+       description = "transform literate source code to Markdown";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "little-earley" = callPackage
     ({ mkDerivation, base, containers, mtl, tasty, tasty-hunit }:
      mkDerivation {
@@ -166064,8 +166218,8 @@ self: {
      }:
      mkDerivation {
        pname = "log-elasticsearch";
-       version = "0.12.0.0";
-       sha256 = "05cvk93s61k42bmsmj4997hdij4xk74a6jrd1qvdbkq13w20260m";
+       version = "0.12.1.0";
+       sha256 = "07z0p5jcd5gjhk4dyf9ny74l68ja58ffa80mbfsyaz66ff6k4y6s";
        libraryHaskellDepends = [
          aeson aeson-pretty base base64-bytestring bytestring deepseq
          http-client http-client-tls http-types log-base network-uri
@@ -171134,6 +171288,29 @@ self: {
        broken = true;
      }) {};
 
+  "matrix-client" = callPackage
+    ({ mkDerivation, aeson, base, base64, bytestring, doctest
+     , exceptions, hashable, hspec, http-client, http-client-tls, retry
+     , SHA, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "matrix-client";
+       version = "0.1.0.0";
+       sha256 = "10w1q846b4jnyg9yb87d69ixfyhl205ryrib6a53pbk0bx6zn59w";
+       libraryHaskellDepends = [
+         aeson base base64 bytestring exceptions hashable http-client
+         http-client-tls retry SHA text time unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base base64 bytestring doctest exceptions hashable hspec
+         http-client http-client-tls retry SHA text time
+         unordered-containers
+       ];
+       description = "A matrix client library";
+       license = lib.licenses.asl20;
+       maintainers = with lib.maintainers; [ maralorn ];
+     }) {};
+
   "matrix-lens" = callPackage
     ({ mkDerivation, base, hedgehog, lens, matrix, tasty
      , tasty-discover, tasty-hedgehog, tasty-hspec, vector
@@ -172903,16 +173080,14 @@ self: {
      }) {};
 
   "merkle-log" = callPackage
-    ({ mkDerivation, base, bytestring, cereal, criterion, cryptonite
-     , deepseq, exceptions, hash-tree, memory, merkle-tree, mwc-random
-     , QuickCheck, random, random-bytestring, text
+    ({ mkDerivation, base, bytestring, criterion, cryptonite, deepseq
+     , exceptions, hash-tree, memory, mwc-random, QuickCheck, random
+     , random-bytestring, text
      }:
      mkDerivation {
        pname = "merkle-log";
-       version = "0.1.0.0";
-       sha256 = "07q0ifgwq8agwm62k1k83sdrln4zbj6ln90nw9p9g3pgxnp3inia";
-       revision = "1";
-       editedCabalFile = "1vrzsflvmx0mrsdb7i7pbz4d74k6yjccrb7979yw0r91qhmzlcir";
+       version = "0.1.1";
+       sha256 = "17a6s9xbv460289avbwdnf8c4vhw9qzj5xddxvfmnjjwp58qxvj1";
        libraryHaskellDepends = [
          base bytestring cryptonite deepseq exceptions memory text
        ];
@@ -172920,8 +173095,8 @@ self: {
          base bytestring cryptonite deepseq exceptions memory QuickCheck
        ];
        benchmarkHaskellDepends = [
-         base bytestring cereal criterion cryptonite deepseq hash-tree
-         memory merkle-tree mwc-random QuickCheck random random-bytestring
+         base bytestring criterion cryptonite deepseq hash-tree memory
+         mwc-random QuickCheck random random-bytestring
        ];
        description = "Merkle Tree Logs";
        license = lib.licenses.bsd3;
@@ -173594,31 +173769,33 @@ self: {
      }) {};
 
   "microformats2-parser" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, aeson-qq, attoparsec, base
-     , base-compat, blaze-html, blaze-markup, bytestring, containers
-     , data-default, either, errors, hspec
-     , hspec-expectations-pretty-diff, html-conduit, lens-aeson, mtl
-     , network, network-uri, options, pcre-heavy, raw-strings-qq, safe
-     , scotty, tagsoup, template-haskell, text, time, transformers
-     , unordered-containers, vector, wai-cli, wai-extra, xml-lens
-     , xss-sanitize
+    ({ mkDerivation, aeson, aeson-pretty, aeson-qq, attoparsec
+     , aws-lambda-haskell-runtime, aws-lambda-haskell-runtime-wai, base
+     , base-compat, blaze-html, blaze-markup, bytestring
+     , case-insensitive, containers, data-default, either, errors
+     , githash, hspec, hspec-expectations-pretty-diff, html-conduit
+     , lens, lens-aeson, mtl, network, network-uri, options, pcre-heavy
+     , raw-strings-qq, safe, scotty, tagsoup, template-haskell, text
+     , time, transformers, unordered-containers, vector, wai, wai-cli
+     , wai-extra, xml-lens, xss-sanitize
      }:
      mkDerivation {
        pname = "microformats2-parser";
-       version = "1.0.1.9";
-       sha256 = "1lxbw825yg16nmflf93l1sy6mxa3dnd7a5mdalc034brsnf1vish";
+       version = "1.0.2.0";
+       sha256 = "1vrw60az8jb3m9kk2vsn1v5l68jmwxsfw3p7lfwl9a8d4gk5m1gp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-qq attoparsec base base-compat blaze-markup bytestring
-         containers data-default either errors html-conduit lens-aeson
-         network-uri pcre-heavy safe tagsoup text time transformers
-         unordered-containers vector xml-lens xss-sanitize
+         case-insensitive containers data-default either errors html-conduit
+         lens lens-aeson network-uri pcre-heavy safe tagsoup text time
+         transformers unordered-containers vector xml-lens xss-sanitize
        ];
        executableHaskellDepends = [
-         aeson aeson-pretty base base-compat blaze-html blaze-markup
-         data-default network network-uri options scotty text wai-cli
-         wai-extra
+         aeson aeson-pretty aws-lambda-haskell-runtime
+         aws-lambda-haskell-runtime-wai base base-compat blaze-html
+         blaze-markup data-default githash network network-uri options
+         scotty text wai wai-cli wai-extra
        ];
        testHaskellDepends = [
          aeson-qq base base-compat bytestring data-default hspec
@@ -173628,6 +173805,7 @@ self: {
        description = "A Microformats 2 parser";
        license = lib.licenses.publicDomain;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "microformats2-types" = callPackage
@@ -189008,8 +189186,8 @@ self: {
        pname = "nvim-hs";
        version = "2.1.0.4";
        sha256 = "0bg94adja6xvzlv1x849nrfpb0i5mjbp19f9cwhaa4iw1qs532rf";
-       revision = "1";
-       editedCabalFile = "0yzdq8nxf2n7n4ns6frgl5nhgb3vj3nkh7336mz994iydam17wcl";
+       revision = "2";
+       editedCabalFile = "0bd90ndkk4lll4rvr87b9vil2h8jlchkh1fag1nrhj90lnczgpnl";
        libraryHaskellDepends = [
          base bytestring cereal cereal-conduit conduit containers
          data-default deepseq foreign-store hslogger megaparsec messagepack
@@ -189033,6 +189211,44 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
+  "nvim-hs_2_1_0_5" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, cereal-conduit, conduit
+     , containers, data-default, deepseq, foreign-store, hslogger, hspec
+     , hspec-discover, HUnit, megaparsec, messagepack, mtl, network
+     , optparse-applicative, path, path-io, prettyprinter
+     , prettyprinter-ansi-terminal, QuickCheck, resourcet, stm
+     , streaming-commons, template-haskell, text, time
+     , time-locale-compat, transformers, transformers-base
+     , typed-process, unliftio, unliftio-core, utf8-string, vector, void
+     }:
+     mkDerivation {
+       pname = "nvim-hs";
+       version = "2.1.0.5";
+       sha256 = "11ld5bgrica3ma54f7x37hcbcl0ms3x6gi0326by3jsnskxplz0z";
+       libraryHaskellDepends = [
+         base bytestring cereal cereal-conduit conduit containers
+         data-default deepseq foreign-store hslogger megaparsec messagepack
+         mtl network optparse-applicative path path-io prettyprinter
+         prettyprinter-ansi-terminal resourcet stm streaming-commons
+         template-haskell text time time-locale-compat transformers
+         transformers-base typed-process unliftio unliftio-core utf8-string
+         vector void
+       ];
+       testHaskellDepends = [
+         base bytestring cereal cereal-conduit conduit containers
+         data-default foreign-store hslogger hspec hspec-discover HUnit
+         megaparsec messagepack mtl network optparse-applicative path
+         path-io prettyprinter prettyprinter-ansi-terminal QuickCheck
+         resourcet stm streaming-commons template-haskell text time
+         time-locale-compat transformers transformers-base typed-process
+         unliftio unliftio-core utf8-string vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Haskell plugin backend for neovim";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "nvim-hs-contrib" = callPackage
     ({ mkDerivation, base, bytestring, data-default, directory
      , filepath, hspec, hspec-discover, messagepack, mtl, nvim-hs
@@ -192465,12 +192681,12 @@ self: {
      }) {};
 
   "optparse-declarative" = callPackage
-    ({ mkDerivation, base, mtl }:
+    ({ mkDerivation, base, exceptions, mtl }:
      mkDerivation {
        pname = "optparse-declarative";
-       version = "0.4.1";
-       sha256 = "0paa7r64y0nb9yv3x387pdid68lnc1gn2m28kcli55dvh1x4wwxr";
-       libraryHaskellDepends = [ base mtl ];
+       version = "0.4.2";
+       sha256 = "0a8b4aa5zvj36nj81kfylxcqfp9ahi5lnak61wvwv9bw68r2a2jn";
+       libraryHaskellDepends = [ base exceptions mtl ];
        description = "Declarative command line option parser";
        license = lib.licenses.mit;
      }) {};
@@ -192541,6 +192757,26 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "optparse-simple_0_1_1_4" = callPackage
+    ({ mkDerivation, base, bytestring, directory, githash
+     , optparse-applicative, template-haskell, th-compat, transformers
+     }:
+     mkDerivation {
+       pname = "optparse-simple";
+       version = "0.1.1.4";
+       sha256 = "0y3qgab8csiwyv60cnpzpv65n3c0ikvdx5b5mfkfahkv8xfdh08x";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base githash optparse-applicative template-haskell th-compat
+         transformers
+       ];
+       testHaskellDepends = [ base bytestring directory ];
+       description = "Simple interface to optparse-applicative";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "optparse-text" = callPackage
     ({ mkDerivation, base, hspec, optparse-applicative, text }:
      mkDerivation {
@@ -194186,6 +194422,65 @@ self: {
        maintainers = with lib.maintainers; [ peti ];
      }) {};
 
+  "pandoc_2_14_0_3" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, array, attoparsec, base
+     , base64-bytestring, binary, blaze-html, blaze-markup, bytestring
+     , case-insensitive, citeproc, commonmark, commonmark-extensions
+     , commonmark-pandoc, connection, containers, data-default, deepseq
+     , Diff, directory, doclayout, doctemplates, emojis, exceptions
+     , file-embed, filepath, Glob, haddock-library, hslua
+     , hslua-module-path, hslua-module-system, hslua-module-text, HsYAML
+     , HTTP, http-client, http-client-tls, http-types, ipynb
+     , jira-wiki-markup, JuicyPixels, mtl, network, network-uri
+     , pandoc-types, parsec, process, QuickCheck, random, safe
+     , scientific, SHA, skylighting, skylighting-core, split, syb
+     , tagsoup, tasty, tasty-bench, tasty-golden, tasty-hunit, tasty-lua
+     , tasty-quickcheck, temporary, texmath, text, text-conversions
+     , time, unicode-collation, unicode-transforms, unix
+     , unordered-containers, xml, xml-conduit, zip-archive, zlib
+     }:
+     mkDerivation {
+       pname = "pandoc";
+       version = "2.14.0.3";
+       sha256 = "1pgd6125mrvzj2faxbsfmackb7kchzcr6bjkrwqbyn9hzxdzbqw2";
+       configureFlags = [ "-fhttps" "-f-trypandoc" ];
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty array attoparsec base base64-bytestring binary
+         blaze-html blaze-markup bytestring case-insensitive citeproc
+         commonmark commonmark-extensions commonmark-pandoc connection
+         containers data-default deepseq directory doclayout doctemplates
+         emojis exceptions file-embed filepath Glob haddock-library hslua
+         hslua-module-path hslua-module-system hslua-module-text HsYAML HTTP
+         http-client http-client-tls http-types ipynb jira-wiki-markup
+         JuicyPixels mtl network network-uri pandoc-types parsec process
+         random safe scientific SHA skylighting skylighting-core split syb
+         tagsoup temporary texmath text text-conversions time
+         unicode-collation unicode-transforms unix unordered-containers xml
+         xml-conduit zip-archive zlib
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base bytestring containers Diff directory doctemplates exceptions
+         filepath Glob hslua mtl pandoc-types process QuickCheck tasty
+         tasty-golden tasty-hunit tasty-lua tasty-quickcheck text time xml
+         zip-archive
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring containers deepseq mtl tasty-bench text time
+       ];
+       postInstall = ''
+         mkdir -p $out/share/man/man1
+         mv "man/"*.1 $out/share/man/man1/
+       '';
+       description = "Conversion between markup formats";
+       license = lib.licenses.gpl2Plus;
+       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ peti ];
+     }) {};
+
   "pandoc-citeproc" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring
      , Cabal, containers, data-default, directory, filepath, hs-bibutils
@@ -196066,8 +196361,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "parsec1";
-       version = "1.0.0.7";
-       sha256 = "1v9kq4g378v8pkj8ldpqwh9dwlng5idbxqqb8ywmzdjnglih34rf";
+       version = "1.0.0.8";
+       sha256 = "02zagbrn4w6gjl9awh4si5b6ia14p4rx22cssd03zx4ddb8kcwf7";
        libraryHaskellDepends = [ base ];
        description = "Portable monadic parser combinators";
        license = lib.licenses.bsd3;
@@ -199002,7 +199297,7 @@ self: {
        maintainers = with lib.maintainers; [ psibi ];
      }) {};
 
-  "persistent_2_13_0_3" = callPackage
+  "persistent_2_13_0_4" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
      , blaze-html, bytestring, conduit, containers, criterion, deepseq
      , fast-logger, file-embed, hspec, http-api-data, lift-type
@@ -199013,8 +199308,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent";
-       version = "2.13.0.3";
-       sha256 = "0jlrkyy10cz6rq47r75q9l5ycyrdjwxs810x7v5ijrimdd9cv24d";
+       version = "2.13.0.4";
+       sha256 = "04q4x50p2jpsp7fzrb61rs225hnrl8n1khmdvf0z6inkwq462w6a";
        libraryHaskellDepends = [
          aeson attoparsec base base64-bytestring blaze-html bytestring
          conduit containers fast-logger http-api-data lift-type monad-logger
@@ -203390,6 +203685,8 @@ self: {
        ];
        description = "run a subprocess, combining stdout and stderr";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "plist" = callPackage
@@ -203588,8 +203885,8 @@ self: {
      }:
      mkDerivation {
        pname = "ploterific";
-       version = "0.2.1.2";
-       sha256 = "1ywg09amxngan23c5724c5s2s79yhynqha6c5xivg1ls58nc7yk5";
+       version = "0.2.1.3";
+       sha256 = "0ggi653hjg9s3v9zqsapm3ryb37hfdbw21pznhsvzhyy3n0fv7jv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -204883,6 +205180,25 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "polysemy-readline" = callPackage
+    ({ mkDerivation, base, exceptions, haskeline, polysemy
+     , polysemy-plugin
+     }:
+     mkDerivation {
+       pname = "polysemy-readline";
+       version = "0.1.0.0";
+       sha256 = "19nic0n5k3r5qbmhnrzwrkncj61ba43qmg86mx0y190mvx540yz1";
+       libraryHaskellDepends = [
+         base exceptions haskeline polysemy polysemy-plugin
+       ];
+       testHaskellDepends = [
+         base exceptions haskeline polysemy polysemy-plugin
+       ];
+       description = "Readline effect for polysemy";
+       license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "polysemy-resume" = callPackage
     ({ mkDerivation, base, hedgehog, polysemy, polysemy-plugin
      , polysemy-test, relude, tasty, tasty-hedgehog, text, transformers
@@ -216627,24 +216943,24 @@ self: {
      , filepath, hashable, html-entities, http-conduit, HUnit
      , lifted-base, mmorph, mtl, network-uri, parsec, parsers
      , QuickCheck, safe, selective, tasty, tasty-hunit, tasty-quickcheck
-     , text, unordered-containers, xeno
+     , template-haskell, temporary, text, unordered-containers, xeno
      }:
      mkDerivation {
        pname = "rdf4h";
-       version = "4.0.2";
-       sha256 = "1gkz1i1v2509aa5c9jp2lgmsnnsr7d1314gq3xmcs21dfgf7xibw";
+       version = "5.0.1";
+       sha256 = "0i6sza600fzrk92pp9qc4ji361js5adg7ijf30hb9fdl854hjgk9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          algebraic-graphs attoparsec base binary bytestring containers
          deepseq exceptions filepath hashable html-entities http-conduit
-         lifted-base mmorph mtl network-uri parsec parsers selective text
-         unordered-containers xeno
+         lifted-base mmorph mtl network-uri parsec parsers selective
+         template-haskell text unordered-containers xeno
        ];
        executableHaskellDepends = [ base containers text ];
        testHaskellDepends = [
-         base containers directory filepath HUnit QuickCheck safe tasty
-         tasty-hunit tasty-quickcheck text
+         base bytestring containers directory filepath HUnit QuickCheck safe
+         tasty tasty-hunit tasty-quickcheck temporary text
        ];
        benchmarkHaskellDepends = [ base criterion deepseq text ];
        description = "A library for RDF processing in Haskell";
@@ -222901,6 +223217,7 @@ self: {
        description = "Robert Fischer's Common library";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "rfc-env" = callPackage
@@ -223672,8 +223989,8 @@ self: {
      }:
      mkDerivation {
        pname = "rio-process-pool";
-       version = "1.0.0";
-       sha256 = "09v95wyrsa6yg5q5zaf9gqmn2xhh1i1q2mmxq52xhpc8pqwj93b9";
+       version = "1.0.1";
+       sha256 = "1r3w7p9yf2k2czdwm739y191x25ravbsn948wwgqxsqamsqs7l18";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -231554,14 +231871,41 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "servant_0_18_3" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base-compat, bifunctors
+     , bytestring, case-insensitive, deepseq, hspec, hspec-discover
+     , http-api-data, http-media, http-types, mmorph, mtl, network-uri
+     , QuickCheck, quickcheck-instances, singleton-bool, sop-core
+     , string-conversions, tagged, text, transformers, vault
+     }:
+     mkDerivation {
+       pname = "servant";
+       version = "0.18.3";
+       sha256 = "033ykm8l7a9bjcwb3v9d0ljglq1sxpjm1iss7nqakpyxljcg2sxp";
+       libraryHaskellDepends = [
+         aeson attoparsec base base-compat bifunctors bytestring
+         case-insensitive deepseq http-api-data http-media http-types mmorph
+         mtl network-uri QuickCheck singleton-bool sop-core
+         string-conversions tagged text transformers vault
+       ];
+       testHaskellDepends = [
+         aeson base base-compat bytestring hspec http-media mtl QuickCheck
+         quickcheck-instances string-conversions text transformers
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "A family of combinators for defining webservices APIs";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "servant-JuicyPixels" = callPackage
     ({ mkDerivation, base, bytestring, http-media, JuicyPixels, servant
      , servant-server, wai, warp
      }:
      mkDerivation {
        pname = "servant-JuicyPixels";
-       version = "0.3.0.6";
-       sha256 = "16bdlgrz71h03lr2xcd2isclfzgr9h2xdl5lbnbs0v1czaxx7m6h";
+       version = "0.3.1.0";
+       sha256 = "1mi9b84myy3sg35xxrna5pwjwkn51v0xsd300ssvy8xaj4k96wjk";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -231611,8 +231955,8 @@ self: {
        pname = "servant-auth";
        version = "0.4.0.0";
        sha256 = "0v2g80kakjwpws92bk3anzy4k8vgxq99y7g3ib4amc5x6kxcmjh1";
-       revision = "2";
-       editedCabalFile = "0mbx44l1jnvfvppv6diiixqx5rdkb68djxl36m5sd12qz6rqmcx0";
+       revision = "3";
+       editedCabalFile = "1hq0mz4fm2f6v57jzyahk5wfip285v3yh20dawvmwdh7wq6104zr";
        libraryHaskellDepends = [
          aeson base jose lens servant text unordered-containers
        ];
@@ -231631,8 +231975,8 @@ self: {
        pname = "servant-auth-client";
        version = "0.4.1.0";
        sha256 = "16rmwdrx0qyqa821ipayczzl3gv8gvqgx8k9q8qaw19w87hwkh83";
-       revision = "1";
-       editedCabalFile = "0q7bazq4ilijclpz23fshpjcspnrfalh7jhqi5gg03m00wwibn4n";
+       revision = "2";
+       editedCabalFile = "0mq9nhrlh44jxkngj06pasrrjzv5193lj6d2szprnncgrk36zi31";
        libraryHaskellDepends = [
          base bytestring containers servant servant-auth servant-client-core
        ];
@@ -231687,8 +232031,8 @@ self: {
        pname = "servant-auth-docs";
        version = "0.2.10.0";
        sha256 = "0j1ynnrb6plrhpb2vzs2p7a9jb41llp0j1jwgap7hjhkwhyc7wxd";
-       revision = "7";
-       editedCabalFile = "10178ahxq36l9mik7dcn1c1f97fpp8b4r7xiqwiv21llp95s7cqp";
+       revision = "8";
+       editedCabalFile = "01mb003lajxs1x82k20dbnxzdvxdla51vi4dh4f0a1xycvyhfpyi";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base lens servant servant-auth servant-docs text
@@ -231753,8 +232097,8 @@ self: {
        pname = "servant-auth-server";
        version = "0.4.6.0";
        sha256 = "0isl9pzzhfbs8pgh3qr2vbgfp0bh741dfa59sq7n3cmbkc6ndpkk";
-       revision = "2";
-       editedCabalFile = "1vf0mnbq0wmwha3aa2fn593dwibaw00l4agspgvchx7574jyr5wp";
+       revision = "3";
+       editedCabalFile = "0iasfns12wab45hf4qkwm5bx1z63ass9n5sh926wnn82g1v6qdyw";
        libraryHaskellDepends = [
          aeson base base64-bytestring blaze-builder bytestring
          case-insensitive cookie data-default-class entropy http-types jose
@@ -231779,8 +232123,8 @@ self: {
        pname = "servant-auth-swagger";
        version = "0.2.10.1";
        sha256 = "029nvb4wxwl98ah26bgcq1b7izrnvssxwn1682liimvsh4a8bady";
-       revision = "2";
-       editedCabalFile = "0b8fawx2wv9zshn9i4abnwy4lgf3fkhbhm8bhfpgm9d867dx21y4";
+       revision = "3";
+       editedCabalFile = "1hkszdp7c7c34b2yp2gb7khzlzq8iw5ma066r30kq2nw5jj895k0";
        libraryHaskellDepends = [
          base lens servant servant-auth servant-swagger swagger2 text
        ];
@@ -232112,6 +232456,37 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "servant-client_0_18_3" = callPackage
+    ({ mkDerivation, aeson, base, base-compat, bytestring, containers
+     , deepseq, entropy, exceptions, hspec, hspec-discover
+     , http-api-data, http-client, http-media, http-types, HUnit
+     , kan-extensions, markdown-unlit, monad-control, mtl, network
+     , QuickCheck, semigroupoids, servant, servant-client-core
+     , servant-server, sop-core, stm, tdigest, text, time, transformers
+     , transformers-base, transformers-compat, wai, warp
+     }:
+     mkDerivation {
+       pname = "servant-client";
+       version = "0.18.3";
+       sha256 = "0ddn7x9z2znkkyn6l2x6a85vq673q4vppr0q9n56ibvl3k3saxj0";
+       libraryHaskellDepends = [
+         base base-compat bytestring containers deepseq exceptions
+         http-client http-media http-types kan-extensions monad-control mtl
+         semigroupoids servant servant-client-core stm text time
+         transformers transformers-base transformers-compat
+       ];
+       testHaskellDepends = [
+         aeson base base-compat bytestring entropy hspec http-api-data
+         http-client http-types HUnit kan-extensions markdown-unlit mtl
+         network QuickCheck servant servant-client-core servant-server
+         sop-core stm tdigest text transformers transformers-compat wai warp
+       ];
+       testToolDepends = [ hspec-discover markdown-unlit ];
+       description = "Automatic derivation of querying functions for servant";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "servant-client-core" = callPackage
     ({ mkDerivation, aeson, base, base-compat, base64-bytestring
      , bytestring, containers, deepseq, exceptions, free, hspec
@@ -232135,6 +232510,28 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "servant-client-core_0_18_3" = callPackage
+    ({ mkDerivation, aeson, base, base-compat, base64-bytestring
+     , bytestring, containers, deepseq, exceptions, free, hspec
+     , hspec-discover, http-media, http-types, network-uri, QuickCheck
+     , safe, servant, sop-core, template-haskell, text, transformers
+     }:
+     mkDerivation {
+       pname = "servant-client-core";
+       version = "0.18.3";
+       sha256 = "1iln4axymmmk3ib0wxmpzjgq16lip8nz7xich3ysgzx6g2n15xsd";
+       libraryHaskellDepends = [
+         aeson base base-compat base64-bytestring bytestring containers
+         deepseq exceptions free http-media http-types network-uri safe
+         servant sop-core template-haskell text transformers
+       ];
+       testHaskellDepends = [ base base-compat deepseq hspec QuickCheck ];
+       testToolDepends = [ hspec-discover ];
+       description = "Core functionality and class for client function generation for servant APIs";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "servant-client-js" = callPackage
     ({ mkDerivation, base, binary, bytestring, case-insensitive
      , containers, exceptions, http-media, http-types, jsaddle
@@ -232187,6 +232584,8 @@ self: {
        pname = "servant-conduit";
        version = "0.15.1";
        sha256 = "1vy3ihypb0zm2yd16rq120qw3898i3c0mahh2jysssv65g0avdwp";
+       revision = "1";
+       editedCabalFile = "0j7jrwyj6vnfr8wyyzjjm6gakx401aylrq8shc2y9ciy0mhf8lrv";
        libraryHaskellDepends = [
          base bytestring conduit mtl resourcet servant unliftio-core
        ];
@@ -232310,6 +232709,35 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "servant-docs_0_11_9" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, base-compat, bytestring
+     , case-insensitive, hashable, http-media, http-types, lens, servant
+     , string-conversions, tasty, tasty-golden, tasty-hunit, text
+     , transformers, universe-base, unordered-containers
+     }:
+     mkDerivation {
+       pname = "servant-docs";
+       version = "0.11.9";
+       sha256 = "0ynjyyxlzb2j5d92rryqqa97rp16582mbmvnv7syczha5ziq24nk";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty base base-compat bytestring case-insensitive
+         hashable http-media http-types lens servant string-conversions text
+         universe-base unordered-containers
+       ];
+       executableHaskellDepends = [
+         aeson base lens servant string-conversions text
+       ];
+       testHaskellDepends = [
+         aeson base base-compat lens servant string-conversions tasty
+         tasty-golden tasty-hunit transformers
+       ];
+       description = "generate API docs for your servant webservice";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "servant-docs-simple" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, hspec
      , hspec-core, ordered-containers, prettyprinter, raw-strings-qq
@@ -232552,6 +232980,24 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "servant-foreign_0_15_4" = callPackage
+    ({ mkDerivation, base, base-compat, hspec, hspec-discover
+     , http-types, lens, servant, text
+     }:
+     mkDerivation {
+       pname = "servant-foreign";
+       version = "0.15.4";
+       sha256 = "0bznb73rbgfgkg7n4pxghkqsfca0yw9vak73c6w8sqvc2mjnc7mz";
+       libraryHaskellDepends = [
+         base base-compat http-types lens servant text
+       ];
+       testHaskellDepends = [ base hspec servant ];
+       testToolDepends = [ hspec-discover ];
+       description = "Helpers for generating clients for servant APIs in any programming language";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "servant-gdp" = callPackage
     ({ mkDerivation, aeson, base, gdp, servant-server, text }:
      mkDerivation {
@@ -232737,6 +233183,41 @@ self: {
        broken = true;
      }) {};
 
+  "servant-http-streams_0_18_3" = callPackage
+    ({ mkDerivation, aeson, base, base-compat, bytestring
+     , case-insensitive, containers, deepseq, entropy, exceptions, hspec
+     , hspec-discover, http-api-data, http-common, http-media
+     , http-streams, http-types, HUnit, io-streams, kan-extensions
+     , markdown-unlit, monad-control, mtl, network, QuickCheck
+     , semigroupoids, servant, servant-client-core, servant-server, stm
+     , tdigest, text, time, transformers, transformers-base
+     , transformers-compat, wai, warp
+     }:
+     mkDerivation {
+       pname = "servant-http-streams";
+       version = "0.18.3";
+       sha256 = "0cc4qmbzq4n1yp5yfg76w1skkksh13qlbza9i2pgsxa9sc39s5fa";
+       libraryHaskellDepends = [
+         base base-compat bytestring case-insensitive containers deepseq
+         exceptions http-common http-media http-streams http-types
+         io-streams kan-extensions monad-control mtl semigroupoids servant
+         servant-client-core text time transformers transformers-base
+         transformers-compat
+       ];
+       testHaskellDepends = [
+         aeson base base-compat bytestring deepseq entropy hspec
+         http-api-data http-streams http-types HUnit kan-extensions
+         markdown-unlit mtl network QuickCheck servant servant-client-core
+         servant-server stm tdigest text transformers transformers-compat
+         wai warp
+       ];
+       testToolDepends = [ hspec-discover markdown-unlit ];
+       description = "Automatic derivation of querying functions for servant";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "servant-http2-client" = callPackage
     ({ mkDerivation, aeson, async, base, binary, bytestring
      , case-insensitive, containers, data-default-class, exceptions
@@ -232916,6 +233397,8 @@ self: {
        pname = "servant-machines";
        version = "0.15.1";
        sha256 = "0k8abcc72s5bzcf2vmjkxxjnhk45rww6hr3l93msm2510hi6gda4";
+       revision = "1";
+       editedCabalFile = "0zplgs1kqfmnnx8yv8ay594misiamgmvy41b8w1h3mr7n4vrgk8j";
        libraryHaskellDepends = [ base bytestring machines mtl servant ];
        testHaskellDepends = [
          base base-compat bytestring http-client http-media machines servant
@@ -233213,6 +233696,28 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "servant-pipes_0_15_3" = callPackage
+    ({ mkDerivation, base, base-compat, bytestring, http-client
+     , http-media, monad-control, mtl, pipes, pipes-bytestring
+     , pipes-safe, servant, servant-client, servant-server, wai, warp
+     }:
+     mkDerivation {
+       pname = "servant-pipes";
+       version = "0.15.3";
+       sha256 = "1sd01f95rkraa0zdqqg2vwx91zsih0i0hqqkz55nnw9bsbsqhq1n";
+       libraryHaskellDepends = [
+         base bytestring monad-control mtl pipes pipes-safe servant
+       ];
+       testHaskellDepends = [
+         base base-compat bytestring http-client http-media pipes
+         pipes-bytestring pipes-safe servant servant-client servant-server
+         wai warp
+       ];
+       description = "Servant Stream support for pipes";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "servant-polysemy" = callPackage
     ({ mkDerivation, base, deepseq, http-client, http-client-tls, lens
      , mtl, polysemy, polysemy-plugin, polysemy-zoo, servant
@@ -233641,6 +234146,42 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "servant-server_0_18_3" = callPackage
+    ({ mkDerivation, aeson, base, base-compat, base64-bytestring
+     , bytestring, containers, directory, exceptions, filepath, hspec
+     , hspec-discover, hspec-wai, http-api-data, http-media, http-types
+     , monad-control, mtl, network, network-uri, QuickCheck, resourcet
+     , safe, servant, should-not-typecheck, sop-core, string-conversions
+     , tagged, temporary, text, transformers, transformers-base
+     , transformers-compat, wai, wai-app-static, wai-extra, warp, word8
+     }:
+     mkDerivation {
+       pname = "servant-server";
+       version = "0.18.3";
+       sha256 = "1gng0in85as45aprwy19xaqlgmwfx0pkly150d2v96knhbcwsshk";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base base-compat base64-bytestring bytestring containers exceptions
+         filepath http-api-data http-media http-types monad-control mtl
+         network network-uri resourcet servant sop-core string-conversions
+         tagged text transformers transformers-base wai wai-app-static word8
+       ];
+       executableHaskellDepends = [
+         aeson base base-compat servant text wai warp
+       ];
+       testHaskellDepends = [
+         aeson base base-compat base64-bytestring bytestring directory hspec
+         hspec-wai http-types mtl QuickCheck resourcet safe servant
+         should-not-typecheck sop-core string-conversions temporary text
+         transformers transformers-compat wai wai-extra
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "A family of combinators for defining webservices APIs and serving them";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "servant-server-namedargs" = callPackage
     ({ mkDerivation, base, bytestring, http-api-data, http-types, named
      , servant, servant-namedargs, servant-server, string-conversions
@@ -248528,6 +249069,28 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "streaming-bytestring_0_2_1" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, exceptions, ghc-prim
+     , mmorph, mtl, resourcet, smallcheck, streaming, tasty, tasty-hunit
+     , tasty-smallcheck, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "streaming-bytestring";
+       version = "0.2.1";
+       sha256 = "1yri2g0wx2fila25ang04nsv4i12b4yhwqwcfkkpx1sz8fhzibxy";
+       libraryHaskellDepends = [
+         base bytestring deepseq exceptions ghc-prim mmorph mtl resourcet
+         streaming transformers transformers-base
+       ];
+       testHaskellDepends = [
+         base bytestring resourcet smallcheck streaming tasty tasty-hunit
+         tasty-smallcheck transformers
+       ];
+       description = "Fast, effectful byte streams";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "streaming-cassava" = callPackage
     ({ mkDerivation, base, bytestring, cassava, hspec, mtl, QuickCheck
      , quickcheck-instances, streaming, streaming-bytestring, text
@@ -250074,8 +250637,8 @@ self: {
      }:
      mkDerivation {
        pname = "stripeapi";
-       version = "0.1.0.2";
-       sha256 = "1zls2k2bzrkwcqav8s416gjsc4rp6glb4rv0ljkjab55ym3fkbqq";
+       version = "1.0.0.0";
+       sha256 = "0wg3b08gvkcqinc5r9jcrcfrgw0c3mh57ca5hzcrknddwd23flbj";
        libraryHaskellDepends = [
          aeson base bytestring ghc-prim http-client http-conduit http-types
          mtl scientific text time transformers unordered-containers vector
@@ -251957,13 +252520,13 @@ self: {
      }:
      mkDerivation {
        pname = "swiss-ephemeris";
-       version = "1.2.1.1";
-       sha256 = "1k584gv36xgj87qbrvcl5w9v8z2k7y4csmz737d5r2a8mvf8sf33";
+       version = "1.3.0.1";
+       sha256 = "1y30qx18ps412r28grlxpfxw3ikirbf3kkxmqwd75ydxp9apn52k";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base directory hspec QuickCheck ];
        testToolDepends = [ hspec-discover ];
        description = "Haskell bindings for the Swiss Ephemeris C library";
-       license = lib.licenses.gpl2Only;
+       license = lib.licenses.agpl3Only;
        hydraPlatforms = lib.platforms.none;
        broken = true;
      }) {};
@@ -255452,6 +256015,18 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "tasty-bench_0_3" = callPackage
+    ({ mkDerivation, base, containers, deepseq, tasty }:
+     mkDerivation {
+       pname = "tasty-bench";
+       version = "0.3";
+       sha256 = "06c7n1dslxr1m15m8kf35zfn544jm36vk8s3yfrf6h047gd1bs2k";
+       libraryHaskellDepends = [ base containers deepseq tasty ];
+       description = "Featherlight benchmark framework";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "tasty-checklist" = callPackage
     ({ mkDerivation, base, exceptions, parameterized-utils, tasty
      , tasty-expected-failure, tasty-hunit, text
@@ -255821,6 +256396,8 @@ self: {
        pname = "tasty-json";
        version = "0.1.0.0";
        sha256 = "0k6zzi2w675pghxfv5y6m67n2cv8bb22dq9zgb5yfwycfj3va4bp";
+       revision = "1";
+       editedCabalFile = "0jk27ld4l435nnzc80wg6b46ibmc0cmbb0k3hpp58yxbyldr6xdr";
        libraryHaskellDepends = [
          base bytestring containers stm tagged tasty text
        ];
@@ -256206,8 +256783,8 @@ self: {
        pname = "tasty-wai";
        version = "0.1.1.1";
        sha256 = "1bnq2mbgv1ksn9sq33dq1q91pzndy7gn61mlnkybk89k0bsw5i7y";
-       revision = "1";
-       editedCabalFile = "033s0aap50r7y3sbxc1jf60lpv66nljwyypc8smyccgiv5l8khzr";
+       revision = "2";
+       editedCabalFile = "13f0rmdyfd8wx9w9d6vj40akskq763gjj89p7dzy6zyaiyllgk64";
        libraryHaskellDepends = [
          base bytestring http-types HUnit tasty wai wai-extra
        ];
@@ -257031,6 +257608,18 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "template-haskell-compat-v0208_0_1_6" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "template-haskell-compat-v0208";
+       version = "0.1.6";
+       sha256 = "1s2ba86y2r9n4r1dwfg734y3nfqxak560s8srd04kbn623hnrkw8";
+       libraryHaskellDepends = [ base template-haskell ];
+       description = "A backwards compatibility layer for Template Haskell newer than 2.8";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "template-haskell-optics" = callPackage
     ({ mkDerivation, base, containers, optics-core, template-haskell }:
      mkDerivation {
@@ -258769,8 +259358,8 @@ self: {
        pname = "texrunner";
        version = "0.0.1.2";
        sha256 = "1fxyxwgvn0rxhkl1fs2msr88jqwx5wwfnjsjlcankrwcn7gyk7jy";
-       revision = "2";
-       editedCabalFile = "0zv8xp8z2gx9zjqn1f81hri4hn0bws7cq39g5i2g2axrkm9nwj5q";
+       revision = "3";
+       editedCabalFile = "1l3cpi7yx8jm3653rf3v7midf19i7khc6in75m7zz66124c6i350";
        libraryHaskellDepends = [
          attoparsec base bytestring directory filepath io-streams mtl
          process semigroups temporary
@@ -266567,6 +267156,23 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "ttc_1_1_0_1" = callPackage
+    ({ mkDerivation, base, bytestring, tasty, tasty-hunit
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "ttc";
+       version = "1.1.0.1";
+       sha256 = "0vngp6md5viz4r57q0qn3pf09ph6kpkzvdigsxmgqcic2ha1a4n1";
+       libraryHaskellDepends = [ base bytestring template-haskell text ];
+       testHaskellDepends = [
+         base bytestring tasty tasty-hunit template-haskell text
+       ];
+       description = "Textual Type Classes";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "ttl-hashtables" = callPackage
     ({ mkDerivation, base, clock, containers, data-default, failable
      , hashable, hashtables, hspec, mtl, transformers
@@ -267088,6 +267694,8 @@ self: {
        ];
        description = "An equational theorem prover";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "twee-lib" = callPackage
@@ -276926,23 +277534,19 @@ self: {
 
   "wai-cli" = callPackage
     ({ mkDerivation, ansi-terminal, base, http-types, iproute
-     , monads-tf, network, options, socket-activation, stm
-     , streaming-commons, unix, wai, wai-extra, warp, warp-tls
+     , monads-tf, network, options, stm, streaming-commons, transformers
+     , unix, wai, wai-extra, warp, warp-tls
      }:
      mkDerivation {
        pname = "wai-cli";
-       version = "0.2.1";
-       sha256 = "1r4lxbjzb5qzn7y0kanlgm8s9a3j1j93cvs74s2bmcc82ysc3x9f";
-       revision = "1";
-       editedCabalFile = "1h0ip8r0zdm0xzaprfiyfdm40286apyvn6psqnx7pif8acfhpq8m";
+       version = "0.2.3";
+       sha256 = "0fflvxfc9ibkrrgqdsr89gl77b0b706a8g7ylydaqqz6z089qbi3";
        libraryHaskellDepends = [
-         ansi-terminal base http-types iproute monads-tf network options
-         socket-activation stm streaming-commons unix wai wai-extra warp
-         warp-tls
+         ansi-terminal base http-types iproute monads-tf network options stm
+         streaming-commons transformers unix wai wai-extra warp warp-tls
        ];
        description = "Command line runner for Wai apps (using Warp) with TLS, CGI, socket activation & graceful shutdown";
        license = lib.licenses.publicDomain;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "wai-conduit" = callPackage
@@ -286307,8 +286911,8 @@ self: {
      }:
      mkDerivation {
        pname = "yaml-unscrambler";
-       version = "0.1.0.2";
-       sha256 = "03wvb5skx41kdmdc6zhydr7zddzyshy2cgk8zmwy26q70z3g01zf";
+       version = "0.1.0.3";
+       sha256 = "1n8q5dsvs6sh2gzs24m49cz5pg1pavn9sma4fk5jizrjrabik4sj";
        libraryHaskellDepends = [
          acc attoparsec attoparsec-data attoparsec-time base base64
          bytestring conduit containers foldl hashable libyaml mtl scientific
@@ -291303,8 +291907,8 @@ self: {
     ({ mkDerivation, base, hspec, Z-Data, Z-IO, zookeeper_mt }:
      mkDerivation {
        pname = "zoovisitor";
-       version = "0.1.1.1";
-       sha256 = "1mg3wz3drddxdrbr1b0yw5wayzqi99zfdlgiwvgcc5pxb98i6wk3";
+       version = "0.1.2.0";
+       sha256 = "0s0svxa7y7a35jg4f0qq6zdg187c2g1s0f3payd26vpwa6rp8f8k";
        libraryHaskellDepends = [ base Z-Data Z-IO ];
        librarySystemDepends = [ zookeeper_mt ];
        testHaskellDepends = [ base hspec ];
diff --git a/nixpkgs/pkgs/development/interpreters/alda/default.nix b/nixpkgs/pkgs/development/interpreters/alda/default.nix
index 85c48ee2014d..96d4207dbe8f 100644
--- a/nixpkgs/pkgs/development/interpreters/alda/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/alda/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "alda";
-  version = "1.4.4";
+  version = "1.5.0";
 
   src = fetchurl {
     url = "https://github.com/alda-lang/alda/releases/download/${version}/alda";
-    sha256 = "sha256-zIq8coSh4B9VGrixkQfhySK7qhlFG2p7O0suvbiScKY=";
+    sha256 = "sha256-OHbOsgYN87ThU7EgjCgxADnOv32qIi+7XwDwcW0dmV0=";
   };
 
   dontUnpack = true;
diff --git a/nixpkgs/pkgs/development/interpreters/dhall/build-dhall-github-package.nix b/nixpkgs/pkgs/development/interpreters/dhall/build-dhall-github-package.nix
index 53adc5a9b125..8f9e4d835511 100644
--- a/nixpkgs/pkgs/development/interpreters/dhall/build-dhall-github-package.nix
+++ b/nixpkgs/pkgs/development/interpreters/dhall/build-dhall-github-package.nix
@@ -43,7 +43,7 @@ lib.makePackageOverridable
         "rev"
       ]);
 
-      prefix = lib.optionalString (directory != "") "${directory}/";
+      prefix = lib.optionalString (directory != "") "/${directory}";
 
     in
       buildDhallPackage
@@ -51,9 +51,12 @@ lib.makePackageOverridable
 
             name = versionedName;
 
-            code = "${src}/${prefix}${file}";
+            code = "${src}${prefix}/${file}";
           }
         // lib.optionalAttrs document
-          { documentationRoot = "${src}/${prefix}"; }
+          { documentationRoot = "${src}/${prefix}";
+
+            baseImportUrl = "https://raw.githubusercontent.com/${owner}/${repo}/${rev}${prefix}";
+          }
         )
   )
diff --git a/nixpkgs/pkgs/development/interpreters/dhall/build-dhall-package.nix b/nixpkgs/pkgs/development/interpreters/dhall/build-dhall-package.nix
index 9fc9a4412156..86797e9f136f 100644
--- a/nixpkgs/pkgs/development/interpreters/dhall/build-dhall-package.nix
+++ b/nixpkgs/pkgs/development/interpreters/dhall/build-dhall-package.nix
@@ -37,6 +37,12 @@
   #
   # If `null`, then no documentation is generated.
 , documentationRoot ? null
+
+  # Base URL prepended to paths copied to the clipboard
+  #
+  # This is used in conjunction with `documentationRoot`, and is unused if
+  # `documentationRoot` is `null`.
+, baseImportUrl ? null
 }:
 
 let
@@ -85,6 +91,12 @@ in
     ${lib.optionalString (documentationRoot != null) ''
     mkdir -p $out/${dataDhall}
 
-    XDG_DATA_HOME=$out/${data} ${dhall-docs}/bin/dhall-docs --input '${documentationRoot}' --package-name '${name}' --output-link $out/docs
+    XDG_DATA_HOME=$out/${data} ${dhall-docs}/bin/dhall-docs --output-link $out/docs ${lib.cli.toGNUCommandLineShell { } {
+      base-import-url = baseImportUrl;
+
+      input = documentationRoot;
+
+      package-name = name;
+    }}
     ''}
   ''
diff --git a/nixpkgs/pkgs/development/interpreters/erlang/R24.nix b/nixpkgs/pkgs/development/interpreters/erlang/R24.nix
index a4fe839bff4c..7f4b49c5c322 100644
--- a/nixpkgs/pkgs/development/interpreters/erlang/R24.nix
+++ b/nixpkgs/pkgs/development/interpreters/erlang/R24.nix
@@ -3,6 +3,6 @@
 # How to obtain `sha256`:
 # nix-prefetch-url --unpack https://github.com/erlang/otp/archive/OTP-${version}.tar.gz
 mkDerivation {
-  version = "24.0.2";
-  sha256 = "gAiQc+AVj5xjwAnn9mF4xprjZOft1JvfEFVJMG5isxg=";
+  version = "24.0.3";
+  sha256 = "KVMISrWNBkk+w37gB4M5TQkgm4odZ+GqLvKN4stzOUI=";
 }
diff --git a/nixpkgs/pkgs/development/interpreters/hy/builder.nix b/nixpkgs/pkgs/development/interpreters/hy/builder.nix
new file mode 100644
index 000000000000..6757f859ac14
--- /dev/null
+++ b/nixpkgs/pkgs/development/interpreters/hy/builder.nix
@@ -0,0 +1,40 @@
+{ lib
+, python3Packages
+, hyDefinedPythonPackages /* Packages like with python.withPackages */
+, ...
+}:
+python3Packages.buildPythonApplication rec {
+  pname = "hy";
+  version = "1.0a1";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-lCrbvbkeutSNmvvn/eHpTnJwPb5aEH7hWTXYSE+AJmU=";
+  };
+
+  checkInputs = with python3Packages; [ flake8 pytest ];
+
+  propagatedBuildInputs = with python3Packages; [
+    appdirs
+    astor
+    clint
+    colorama
+    fastentrypoints
+    funcparserlib
+    rply
+    pygments
+  ] ++ (hyDefinedPythonPackages python3Packages);
+
+  # Hy does not include tests in the source distribution from PyPI, so only test executable.
+  checkPhase = ''
+    $out/bin/hy --help > /dev/null
+  '';
+
+  meta = with lib; {
+    description = "A LISP dialect embedded in Python";
+    homepage = "https://hylang.org/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ nixy mazurel ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/interpreters/hy/default.nix b/nixpkgs/pkgs/development/interpreters/hy/default.nix
index e39bf915cfcf..f5d80c11d711 100644
--- a/nixpkgs/pkgs/development/interpreters/hy/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/hy/default.nix
@@ -1,37 +1,15 @@
-{ lib, python3Packages }:
-
-python3Packages.buildPythonApplication rec {
-  pname = "hy";
-  version = "0.19.0";
-
-  src = python3Packages.fetchPypi {
-    inherit pname version;
-    sha256 = "05k05qmiiysiwdc05sxmanwhv1crfwbb3l8swxfisbzbvmv1snis";
-  };
-
-  checkInputs = with python3Packages; [ flake8 pytest ];
-
-  propagatedBuildInputs = with python3Packages; [
-    appdirs
-    astor
-    clint
-    colorama
-    fastentrypoints
-    funcparserlib
-    rply
-    pygments
-  ];
-
-  # Hy does not include tests in the source distribution from PyPI, so only test executable.
-  checkPhase = ''
-    $out/bin/hy --help > /dev/null
-  '';
-
-  meta = with lib; {
-    description = "A LISP dialect embedded in Python";
-    homepage = "http://hylang.org/";
-    license = licenses.mit;
-    maintainers = with maintainers; [ nixy ];
-    platforms = platforms.all;
-  };
+{ lib
+, callPackage
+, hyDefinedPythonPackages ? python-packages: [] /* Packages like with python.withPackages */
+}:
+let
+  withPackages = (
+    python-packages: callPackage ./builder.nix {
+      hyDefinedPythonPackages = python-packages;
+    }
+  );
+in
+(withPackages hyDefinedPythonPackages) // {
+  # Export withPackages function for hy customization
+  inherit withPackages;
 }
diff --git a/nixpkgs/pkgs/development/interpreters/janet/default.nix b/nixpkgs/pkgs/development/interpreters/janet/default.nix
index c0438d1e0076..35631174e260 100644
--- a/nixpkgs/pkgs/development/interpreters/janet/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/janet/default.nix
@@ -11,7 +11,20 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-TzJbHmHIySlf3asQ02HOdehMR+s0KkPifBiaQ4FvFCg=";
   };
 
+  # we don't have /usr/bin/env in the sandbox, so substitute for a proper,
+  # absolute path to janet
+  postPatch = ''
+    substituteInPlace jpm \
+      --replace '/usr/bin/env janet' $out/bin/janet \
+      --replace /usr/local/lib/janet $out/lib \
+      --replace /usr/local           $out
+
+    substituteInPlace janet.1 \
+      --replace /usr/local/lib/janet $out/lib
+  '';
+
   nativeBuildInputs = [ meson ninja ];
+
   mesonFlags = [ "-Dgit_hash=release" ];
 
   doCheck = true;
@@ -20,7 +33,7 @@ stdenv.mkDerivation rec {
     description = "Janet programming language";
     homepage = "https://janet-lang.org/";
     license = licenses.mit;
+    maintainers = with maintainers; [ andrewchambers peterhoeg ];
     platforms = platforms.all;
-    maintainers = with maintainers; [ andrewchambers ];
   };
 }
diff --git a/nixpkgs/pkgs/development/interpreters/lua-5/default.nix b/nixpkgs/pkgs/development/interpreters/lua-5/default.nix
index d2ba451b9e60..3e36f77dab43 100644
--- a/nixpkgs/pkgs/development/interpreters/lua-5/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/lua-5/default.nix
@@ -19,10 +19,6 @@ rec {
 
     patches =
       lib.optionals stdenv.isDarwin [ ./5.2.darwin.patch ];
-
-    postBuild = lib.optionalString (!stdenv.isDarwin) ''
-      ( cd src; make $makeFlags "''${makeFlagsArray[@]}" liblua.so )
-    '';
   };
 
   lua5_3_compat = lua5_3.override({
diff --git a/nixpkgs/pkgs/development/interpreters/lua-5/interpreter.nix b/nixpkgs/pkgs/development/interpreters/lua-5/interpreter.nix
index fd8c47d751b3..3476b2b648b6 100644
--- a/nixpkgs/pkgs/development/interpreters/lua-5/interpreter.nix
+++ b/nixpkgs/pkgs/development/interpreters/lua-5/interpreter.nix
@@ -7,6 +7,7 @@
 , patches ? []
 , postConfigure ? null
 , postBuild ? null
+, staticOnly ? stdenv.hostPlatform.isStatic
 }:
 let
 luaPackages = callPackage ../../lua-modules {lua=self; overrides=packageOverrides;};
@@ -38,7 +39,7 @@ self = stdenv.mkDerivation rec {
 
   inherit patches;
 
-  postPatch = lib.optionalString (!stdenv.isDarwin) ''
+  postPatch = lib.optionalString (!stdenv.isDarwin && !staticOnly) ''
     # Add a target for a shared library to the Makefile.
     sed -e '1s/^/LUA_SO = liblua.so/' \
         -e 's/ALL_T *= */&$(LUA_SO) /' \
@@ -56,6 +57,10 @@ self = stdenv.mkDerivation rec {
     "PLAT=${plat}"
     "CC=${stdenv.cc.targetPrefix}cc"
     "RANLIB=${stdenv.cc.targetPrefix}ranlib"
+    # Lua links with readline wich depends on ncurses. For some reason when
+    # building pkgsStatic.lua it fails because symbols from ncurses are not
+    # found. Adding ncurses here fixes the problem.
+    "MYLIBS=-lncurses"
   ];
 
   configurePhase = ''
@@ -66,7 +71,8 @@ self = stdenv.mkDerivation rec {
     makeFlagsArray+=(${lib.optionalString stdenv.isDarwin "CC=\"$CC\""}${lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) " 'AR=${stdenv.cc.targetPrefix}ar rcu'"})
 
     installFlagsArray=( TO_BIN="lua luac" INSTALL_DATA='cp -d' \
-      TO_LIB="${if stdenv.isDarwin then "liblua.${version}.dylib" else "liblua.a liblua.so liblua.so.${luaversion} liblua.so.${version}"}" )
+      TO_LIB="${if stdenv.isDarwin then "liblua.${version}.dylib"
+                else ("liblua.a" + lib.optionalString (!staticOnly) " liblua.so liblua.so.${luaversion} liblua.so.${version}" )}" )
 
     runHook postConfigure
   '';
diff --git a/nixpkgs/pkgs/development/interpreters/nix-exec/default.nix b/nixpkgs/pkgs/development/interpreters/nix-exec/default.nix
deleted file mode 100644
index c2a3fa2c7749..000000000000
--- a/nixpkgs/pkgs/development/interpreters/nix-exec/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, nix, git }: let
-  version = "4.1.6";
-in stdenv.mkDerivation {
-  pname = "nix-exec";
-  inherit version;
-
-  src = fetchurl {
-    url = "https://github.com/shlevy/nix-exec/releases/download/v${version}/nix-exec-${version}.tar.xz";
-    sha256 = "0slpsnzzzdkf5d9za7j4kr15jr4mn1k9klfsxibzy47b2bx1vkar";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ nix git ];
-
-  NIX_CFLAGS_COMPILE = "-std=c++1y";
-
-  meta = {
-    description = "Run programs defined in nix expressions";
-    homepage = "https://github.com/shlevy/nix-exec";
-    license = lib.licenses.mit;
-    platforms = nix.meta.platforms;
-    broken = true;
-  };
-}
diff --git a/nixpkgs/pkgs/development/interpreters/php/7.4.nix b/nixpkgs/pkgs/development/interpreters/php/7.4.nix
index 7640e6bc6463..1e72f7b48b4a 100644
--- a/nixpkgs/pkgs/development/interpreters/php/7.4.nix
+++ b/nixpkgs/pkgs/development/interpreters/php/7.4.nix
@@ -2,8 +2,8 @@
 
 let
   base = callPackage ./generic.nix (_args // {
-    version = "7.4.20";
-    sha256 = "0d5ncz97y0271dsmz269wl4721vhq2fn6pmm9rxglc756p36pnha";
+    version = "7.4.21";
+    sha256 = "0al2697d5hwq0f39rgncl1pwfxzzpc0afmr0fjvw5qjpww163v1n";
   });
 
 in
diff --git a/nixpkgs/pkgs/development/interpreters/php/8.0.nix b/nixpkgs/pkgs/development/interpreters/php/8.0.nix
index 294f100dedd3..82d78d95314e 100644
--- a/nixpkgs/pkgs/development/interpreters/php/8.0.nix
+++ b/nixpkgs/pkgs/development/interpreters/php/8.0.nix
@@ -2,8 +2,8 @@
 
 let
   base = callPackage ./generic.nix (_args // {
-    version = "8.0.7";
-    sha256 = "0yazcc9x66xg1gmi3rpgk891g6s3mm7aywcadqfqnx1mdz4z5ckj";
+    version = "8.0.8";
+    sha256 = "0vyi9hhy7yl4l589dniwb3gq29sp3giq7ni4nca3x54q3bbpgg8l";
   });
 
 in
diff --git a/nixpkgs/pkgs/development/interpreters/php/generic.nix b/nixpkgs/pkgs/development/interpreters/php/generic.nix
index 5344be9c5c7e..dbe01acb6dfd 100644
--- a/nixpkgs/pkgs/development/interpreters/php/generic.nix
+++ b/nixpkgs/pkgs/development/interpreters/php/generic.nix
@@ -133,7 +133,7 @@ let
               unwrapped = php;
               # Select the right php tests for the php version
               tests = nixosTests."php${lib.strings.replaceStrings [ "." ] [ "" ] (lib.versions.majorMinor php.version)}";
-              inherit (php-packages) extensions buildPecl;
+              inherit (php-packages) extensions buildPecl mkExtension;
               packages = php-packages.tools;
               meta = php.meta // {
                 outputsToInstall = [ "out" ];
@@ -195,8 +195,6 @@ let
 
         # PCRE
         ++ lib.optionals (lib.versionAtLeast version "7.4") [ "--with-external-pcre=${pcre2.dev}" ]
-        ++ lib.optionals (lib.versions.majorMinor version == "7.3") [ "--with-pcre-regex=${pcre2.dev}" ]
-        ++ lib.optionals (lib.versionOlder version "7.3") [ "--with-pcre-regex=${pcre2.dev}" ]
         ++ [ "PCRE_LIBDIR=${pcre2}" ]
 
 
diff --git a/nixpkgs/pkgs/development/interpreters/tcl/tcl-package-hook.sh b/nixpkgs/pkgs/development/interpreters/tcl/tcl-package-hook.sh
index 747783cb1c27..41603037931f 100644
--- a/nixpkgs/pkgs/development/interpreters/tcl/tcl-package-hook.sh
+++ b/nixpkgs/pkgs/development/interpreters/tcl/tcl-package-hook.sh
@@ -2,6 +2,8 @@
 # * wrap any installed executables with a wrapper that configures TCLLIBPATH
 # * write a setup hook that extends the TCLLIBPATH of any anti-dependencies
 
+tclWrapperArgs=( ${tclWrapperArgs-} )
+
 # Add a directory to TCLLIBPATH, provided that it exists
 _addToTclLibPath() {
     local tclPkg="$1"
@@ -50,10 +52,12 @@ wrapTclBins() {
         return
     fi
 
+    tclWrapperArgs+=(--prefix TCLLIBPATH ' ' "$TCLLIBPATH")
+
     find "$tclBinsDir" -type f -executable -print |
         while read -r someBin; do
             echo "Adding TCLLIBPATH wrapper for $someBin"
-            wrapProgram "$someBin" --prefix TCLLIBPATH ' ' "$TCLLIBPATH"
+            wrapProgram "$someBin" "${tclWrapperArgs[@]}"
         done
 }
 
diff --git a/nixpkgs/pkgs/development/libraries/SDL/default.nix b/nixpkgs/pkgs/development/libraries/SDL/default.nix
index bf76bc1e8570..225cadac8c60 100644
--- a/nixpkgs/pkgs/development/libraries/SDL/default.nix
+++ b/nixpkgs/pkgs/development/libraries/SDL/default.nix
@@ -5,7 +5,7 @@
 , x11Support ? !stdenv.isCygwin && !stdenv.hostPlatform.isAndroid
 , libXext, libICE, libXrandr
 , pulseaudioSupport ? config.pulseaudio or stdenv.isLinux && !stdenv.hostPlatform.isAndroid, libpulseaudio
-, OpenGL, CoreAudio, CoreServices, AudioUnit, Kernel, Cocoa
+, OpenGL, GLUT, CoreAudio, CoreServices, AudioUnit, Kernel, Cocoa
 }:
 
 # NOTE: When editing this expression see if the same change applies to
@@ -16,7 +16,8 @@ with lib;
 let
   extraPropagatedBuildInputs = [ ]
     ++ optionals x11Support [ libXext libICE libXrandr ]
-    ++ optionals openglSupport [ libGL libGLU ]
+    ++ optionals (openglSupport && stdenv.isLinux) [ libGL libGLU ]
+    ++ optionals (openglSupport && stdenv.isDarwin) [ OpenGL GLUT ]
     ++ optional alsaSupport alsa-lib
     ++ optional pulseaudioSupport libpulseaudio
     ++ optional stdenv.isDarwin Cocoa;
diff --git a/nixpkgs/pkgs/development/libraries/amdvlk/default.nix b/nixpkgs/pkgs/development/libraries/amdvlk/default.nix
index 5d5277afcd3e..2ef3f3d3920b 100644
--- a/nixpkgs/pkgs/development/libraries/amdvlk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/amdvlk/default.nix
@@ -85,6 +85,6 @@ in stdenv.mkDerivation rec {
     changelog = "https://github.com/GPUOpen-Drivers/AMDVLK/releases/tag/v-${version}";
     license = licenses.mit;
     platforms = [ "x86_64-linux" "i686-linux" ];
-    maintainers = with maintainers; [ danieldk Flakebi ];
+    maintainers = with maintainers; [ Flakebi ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/armadillo/default.nix b/nixpkgs/pkgs/development/libraries/armadillo/default.nix
index 9fdccfb3faa0..fcc64989606e 100644
--- a/nixpkgs/pkgs/development/libraries/armadillo/default.nix
+++ b/nixpkgs/pkgs/development/libraries/armadillo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "armadillo";
-  version = "10.5.2";
+  version = "10.5.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz";
-    sha256 = "sha256-Y/I87cVIpelASBblDPj4/MSSqxqtxsDO8wv8Kvzq2V8=";
+    sha256 = "sha256-5sUdjVKm94ucZFn2mGE1CT4O5wWmdDBxEPYXXyzV7jc=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/aws-c-cal/default.nix b/nixpkgs/pkgs/development/libraries/aws-c-cal/default.nix
index 3246c572962f..6f3df977efa8 100644
--- a/nixpkgs/pkgs/development/libraries/aws-c-cal/default.nix
+++ b/nixpkgs/pkgs/development/libraries/aws-c-cal/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "aws-c-cal";
-  version = "0.4.5";
+  version = "0.5.11";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "04acra1mnzw9q7jycs5966akfbgnx96hkrq90nq0dhw8pvarlyv6";
+    sha256 = "sha256-rmEsDsY50IKpCpQTvAFEkgCtuHwwgwMwcRpBUyyZGGc=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/babl/default.nix b/nixpkgs/pkgs/development/libraries/babl/default.nix
index d6e1d75437ef..c0765922de5f 100644
--- a/nixpkgs/pkgs/development/libraries/babl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/babl/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "babl";
-  version = "0.1.86";
+  version = "0.1.88";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://download.gimp.org/pub/babl/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-Cz9ZUVmtGyFs1ynAUEw6X2z3gMZB9Nxj/BZPPAOCyPA=";
+    sha256 = "sha256-Tw1/SqoLsucl80mt97NRqVfZ+ybVVdmJWnr4FrQWcDk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/boca/default.nix b/nixpkgs/pkgs/development/libraries/boca/default.nix
index 0f848e302408..ffbc99f79f7d 100644
--- a/nixpkgs/pkgs/development/libraries/boca/default.nix
+++ b/nixpkgs/pkgs/development/libraries/boca/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "BoCA";
-  version = "1.0.4";
+  version = "1.0.5";
 
   src = fetchFromGitHub {
     owner = "enzo1982";
     repo = "boca";
     rev = "v${version}";
-    sha256 = "sha256-SP/rVt/8VoeUprwJIIMSIBvoC1Zein3F7MR2tqc2vd0=";
+    sha256 = "sha256-ooLPpwTxG7QBAGhEGhta4T06ZDWlPysocHbb/Sq7Wyo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/cairo/default.nix b/nixpkgs/pkgs/development/libraries/cairo/default.nix
index 799024f19acf..137da005062e 100644
--- a/nixpkgs/pkgs/development/libraries/cairo/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cairo/default.nix
@@ -42,6 +42,13 @@ in stdenv.mkDerivation rec {
       sha256 = "112hgrrsmcwxh1r52brhi5lksq4pvrz4xhkzcf2iqp55jl2pb7n1";
     })
 
+    # Fix PDF output.
+    # https://gitlab.freedesktop.org/cairo/cairo/issues/342
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/cairo/cairo/commit/5e34c5a9640e49dcc29e6b954c4187cfc838dbd1.patch";
+      sha256 = "yCwsDUY7efVvOZkA6a0bPS+RrVc8Yk9bfPwWHeOjq5o=";
+    })
+
     ./0001-test-don-t-always-build-FreeType-dependent-test.patch
     ./0002-gl-don-t-implicitly-include-X11-headers.patch
     ./0003-test-only-build-GL-tests-when-Xlib-is-enabled.patch
@@ -80,7 +87,9 @@ in stdenv.mkDerivation rec {
     ++ optional glSupport libGL
     ; # TODO: maybe liblzo but what would it be for here?
 
-  configureFlags = (if stdenv.isDarwin then [
+  configureFlags = [
+    "--enable-tee"
+  ] ++ (if stdenv.isDarwin then [
     "--disable-dependency-tracking"
     "--enable-quartz"
     "--enable-quartz-font"
@@ -93,7 +102,6 @@ in stdenv.mkDerivation rec {
     (enableFeature zlibSupport "interpreter")
     (enableFeature pngSupport "png")
     (enableFeature pngSupport "svg")
-    "--enable-tee"
     (enableFeature glSupport "gl")
     (enableFeature x11Support "xlib")
   ]);
diff --git a/nixpkgs/pkgs/development/libraries/duckdb/default.nix b/nixpkgs/pkgs/development/libraries/duckdb/default.nix
index 60ccf5aeeb23..e63f2c3cfd68 100644
--- a/nixpkgs/pkgs/development/libraries/duckdb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/duckdb/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "duckdb";
-  version = "0.2.2";
+  version = "0.2.7";
 
   src = fetchFromGitHub {
     owner = "cwida";
     repo = "duckdb";
     rev = "v${version}";
-    sha256 = "1pzz2zjzpvji5am21vd9kjxj0pnxsjmrsfqrym9h2rk2mi7p2cx8";
+    sha256 = "0cnqq2n1424fqg7gfyvrwkk6nvjal2fm5n08xc8q28ynyhq4sfmj";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/eclib/default.nix b/nixpkgs/pkgs/development/libraries/eclib/default.nix
index 4709441a1011..740b0d81ca92 100644
--- a/nixpkgs/pkgs/development/libraries/eclib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/eclib/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv
-, fetchFromGitHub
+, fetchurl
 , autoreconfHook
 , pari
 , ntl
@@ -14,16 +14,22 @@ assert withFlint -> flint != null;
 
 stdenv.mkDerivation rec {
   pname = "eclib";
-  version = "20190909"; # upgrade might break the sage interface
+  version = "20210625"; # upgrade might break the sage interface
   # sage tests to run:
   # src/sage/interfaces/mwrank.py
   # src/sage/libs/eclib
   # ping @timokau for more info
-  src = fetchFromGitHub {
-    owner = "JohnCremona";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "0y1vdi4120gdw56gg2dn3wh625yr9wpyk3wpbsd25w4lv83qq5da";
+  src = fetchurl {
+    # all releases for this project appear on its GitHub releases page
+    # by definition! other distros sometimes update whenever they see
+    # a version bump in configure.ac or a new tag (and this might show
+    # up on repology). however, a version bump or a new tag may not
+    # represent a new release, and a new release might not be tagged.
+    #
+    # see https://github.com/JohnCremona/eclib/issues/64#issuecomment-789788561
+    # for upstream's explanation of the above
+    url = "https://github.com/JohnCremona/eclib/releases/download/${version}/eclib-${version}.tar.bz2";
+    sha256 = "sha256-fA3MPz/L+Q39sA8wxAYOUowlHRcgOd8VF4tpsBGI6BA=";
   };
   buildInputs = [
     pari
diff --git a/nixpkgs/pkgs/development/libraries/egl-wayland/default.nix b/nixpkgs/pkgs/development/libraries/egl-wayland/default.nix
index b3654087ffd0..9e7beb0a4f86 100644
--- a/nixpkgs/pkgs/development/libraries/egl-wayland/default.nix
+++ b/nixpkgs/pkgs/development/libraries/egl-wayland/default.nix
@@ -4,6 +4,7 @@
 , pkg-config
 , meson
 , ninja
+, wayland-scanner
 , libX11
 , mesa
 , libGL
@@ -51,10 +52,15 @@ in stdenv.mkDerivation rec {
     sha256 = "1n9lg8hpjgxlf7dpddkjhbslsfd0symla2wk6jjmnl9n9jv2gmzk";
   };
 
+  depsBuildBuild = [
+    pkg-config
+  ];
+
   nativeBuildInputs = [
     meson
     ninja
     pkg-config
+    wayland-scanner
   ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/enchant/2.x.nix b/nixpkgs/pkgs/development/libraries/enchant/2.x.nix
index 93815308f9c0..f2a4ae31346e 100644
--- a/nixpkgs/pkgs/development/libraries/enchant/2.x.nix
+++ b/nixpkgs/pkgs/development/libraries/enchant/2.x.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "enchant";
-  version = "2.2.15";
+  version = "2.3.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://github.com/AbiWord/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-Ow8iFVeBFfKOKmqlSbNRKGADlDBL151vKLDTs9b0bAM=";
+    sha256 = "sha256-32gGO2wTskX6ckaw4JigPnT3qRxtiUe8XE9CzlXi5B0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/fcft/default.nix b/nixpkgs/pkgs/development/libraries/fcft/default.nix
index 9018a1bfa218..c413cf277c8b 100644
--- a/nixpkgs/pkgs/development/libraries/fcft/default.nix
+++ b/nixpkgs/pkgs/development/libraries/fcft/default.nix
@@ -6,13 +6,14 @@
 
 stdenv.mkDerivation rec {
   pname = "fcft";
-  version = "2.4.1";
+  version = "2.4.2";
 
   src = fetchzip {
     url = "https://codeberg.org/dnkl/fcft/archive/${version}.tar.gz";
-    sha256 = "sha256-QxAp6pnZPLPwarurbKovz0BVOO4XdckBzjB65XCBPAM=";
+    sha256 = "01zvc8519fcg14nmcx3iqap9jnspcnr6pvlr59ipqxs0jprnrxl2";
   };
 
+  depsBuildBuild = [ pkg-config ];
   nativeBuildInputs = [ pkg-config meson ninja scdoc ];
   buildInputs = [ freetype fontconfig pixman tllist ]
     ++ lib.optional withHarfBuzz harfbuzz;
diff --git a/nixpkgs/pkgs/development/libraries/fmt/default.nix b/nixpkgs/pkgs/development/libraries/fmt/default.nix
index 474c990d5177..3fee016175bc 100644
--- a/nixpkgs/pkgs/development/libraries/fmt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/fmt/default.nix
@@ -47,4 +47,9 @@ in
     version = "7.1.3";
     sha256 = "08hyv73qp2ndbs0isk8pspsphdzz5qh8czl3wgyxy3mmif9xdg29";
   };
+
+  fmt_8 = generic {
+    version = "8.0.1";
+    sha256 = "1mnvxqsan034d2jiqnw2yvkljl7lwvhakmj5bscwp1fpkn655bbw";
+  };
 }
diff --git a/nixpkgs/pkgs/development/libraries/fontconfig/default.nix b/nixpkgs/pkgs/development/libraries/fontconfig/default.nix
index c0846edbbfe4..075c810131c7 100644
--- a/nixpkgs/pkgs/development/libraries/fontconfig/default.nix
+++ b/nixpkgs/pkgs/development/libraries/fontconfig/default.nix
@@ -3,6 +3,7 @@
 , substituteAll
 , fetchurl
 , pkg-config
+, python3
 , freetype
 , expat
 , libxslt
@@ -14,67 +15,29 @@
 
 stdenv.mkDerivation rec {
   pname = "fontconfig";
-  version = "2.13.92";
+  version = "2.13.93";
 
   src = fetchurl {
     url = "http://fontconfig.org/release/${pname}-${version}.tar.xz";
-    sha256 = "0kkfsvxcvcphm9zcgsh646gix3qn4spz555wa1jp5hbq70l62vjh";
+    sha256 = "1850q4k80yxma5g3yxkvyv8i5a3xqzswwml8gjy3jmywx8qqd5pa";
   };
 
   patches = [
-    # Fix fonts not being loaded when missing included configs that have ignore_missing="yes".
-    # https://bugzilla.redhat.com/show_bug.cgi?id=1744377
+    # Fix build with no docbook2html.
     (fetchpatch {
-      url = "https://gitlab.freedesktop.org/fontconfig/fontconfig/commit/fcada522913e5e07efa6367eff87ace9f06d24c8.patch";
-      sha256 = "1jbm3vw45b3qjnqrh2545v1k8vmb29c09v2wj07jnrq3lnchbvmn";
+      url = "https://gitlab.freedesktop.org/fontconfig/fontconfig/-/commit/60ce9b695ee9d1ac514a61f562e210d3278ba605.patch";
+      sha256 = "0hfd2jdvsgackdp29dyzf5b1277pnbacihxqh9vdn63rr932ipra";
     })
-
-    # Register JoyPixels as an emoji font.
-    # https://gitlab.freedesktop.org/fontconfig/fontconfig/merge_requests/67
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/fontconfig/fontconfig/commit/65087ac7ce4cc5f2109967c1380b474955dcb590.patch";
-      sha256 = "1dkrbqx1c1d8yfnx0igvv516wanw2ksrpm3fbpm2h9nw0hccwqvm";
-    })
-
-    # Fix invalid DTD in reset-dirs.
-    # https://gitlab.freedesktop.org/fontconfig/fontconfig/merge_requests/78
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/fontconfig/fontconfig/commit/a4aa66a858f1ecd375c5efe5916398281f73f794.patch";
-      sha256 = "1j4ky8jhpllfm1lh2if34xglh2hl79nsa0xxgzxpj9sx6h4v99j5";
-    })
-
-    # Do not include its tags, they are external now and only cause warnings with old fontconfig clients.
-    # https://gitlab.freedesktop.org/fontconfig/fontconfig/merge_requests/97
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/fontconfig/fontconfig/commit/528b17b2837c3b102acd90cc7548d07bacaccb1f.patch";
-      sha256 = "1zf4wcd2xlprh805jalfy8ja5c2qzgkh4fwd1m9d638nl9gx932m";
-    })
-    # https://gitlab.freedesktop.org/fontconfig/fontconfig/merge_requests/100
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/fontconfig/fontconfig/commit/37c7c748740bf6f2468d59e67951902710240b34.patch";
-      sha256 = "1rz5zrfwhpn9g49wrzzrmdglj78pbvpnw8ksgsw6bxq8l5d84jfr";
-    })
-
-    # Show warning instead of error when encountering unknown attribute in config.
-    # https://gitlab.freedesktop.org/fontconfig/fontconfig/merge_requests/111
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/fontconfig/fontconfig/commit/409b37c62780728755c908991c912a6b16f2389c.patch";
-      sha256 = "zJFh37QErSAINPGFkFVJyhYRP27BuIN7PIgoDl/PIwI=";
-    })
-
-    # Combination of
-    # https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/88
-    # https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/131
-    ./macos-atomics.h
   ];
 
   outputs = [ "bin" "dev" "lib" "out" ]; # $out contains all the config
 
   nativeBuildInputs = [
+    autoreconfHook
     gperf
     libxslt
     pkg-config
-    autoreconfHook
+    python3
   ];
 
   buildInputs = [
@@ -85,6 +48,11 @@ stdenv.mkDerivation rec {
     freetype
   ];
 
+  postPatch = ''
+    # Requires networking.
+    sed -i '/check_PROGRAMS += test-crbug1004254/d' test/Makefile.am
+  '';
+
   configureFlags = [
     "--sysconfdir=/etc"
     "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}"
diff --git a/nixpkgs/pkgs/development/libraries/fontconfig/macos-atomics.h b/nixpkgs/pkgs/development/libraries/fontconfig/macos-atomics.h
deleted file mode 100644
index 07b0cf1d52dc..000000000000
--- a/nixpkgs/pkgs/development/libraries/fontconfig/macos-atomics.h
+++ /dev/null
@@ -1,39 +0,0 @@
---- a/src/fcatomic.h	2020-11-27 13:23:44.000000000 +0900
-+++ b/src/fcatomic.h	2020-11-27 13:24:43.000000000 +0900
-@@ -70,24 +70,25 @@
- #elif !defined(FC_NO_MT) && defined(__APPLE__)
- 
- #include <libkern/OSAtomic.h>
--#ifdef __MAC_OS_X_MIN_REQUIRED
- #include <AvailabilityMacros.h>
--#elif defined(__IPHONE_OS_MIN_REQUIRED)
--#include <Availability.h>
--#endif
- 
- typedef int fc_atomic_int_t;
- #define fc_atomic_int_add(AI, V)	(OSAtomicAdd32Barrier ((V), &(AI)) - (V))
- 
--#define fc_atomic_ptr_get(P)		(OSMemoryBarrier (), (void *) *(P))
--#if (MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_4 || __IPHONE_VERSION_MIN_REQUIRED >= 20100)
--#define fc_atomic_ptr_cmpexch(P,O,N)	OSAtomicCompareAndSwapPtrBarrier ((void *) (O), (void *) (N), (void **) (P))
--#else
--#if __ppc64__ || __x86_64__
--#define fc_atomic_ptr_cmpexch(P,O,N)	OSAtomicCompareAndSwap64Barrier ((int64_t) (O), (int64_t) (N), (int64_t*) (P))
-+#if (MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_4 || __IPHONE_OS_VERSION_MIN_REQUIRED >= 20100)
-+
-+#if SIZEOF_VOID_P == 8
-+#define fc_atomic_ptr_get(P)		OSAtomicAdd64Barrier (0, (int64_t*)(P))
-+#elif SIZEOF_VOID_P == 4
-+#define fc_atomic_ptr_get(P)		OSAtomicAdd32Barrier (0, (int32_t*)(P))
- #else
--#define fc_atomic_ptr_cmpexch(P,O,N)	OSAtomicCompareAndSwap32Barrier ((int32_t) (O), (int32_t) (N), (int32_t*) (P))
-+#error "SIZEOF_VOID_P not 4 or 8 (assumes CHAR_BIT is 8)"
- #endif
-+
-+#define fc_atomic_ptr_cmpexch(P,O,N)	OSAtomicCompareAndSwapPtrBarrier ((void *) (O), (void *) (N), (void **) (P))
-+
-+#else
-+#error "Your macOS / iOS targets are too old"
- #endif
- 
- #elif !defined(FC_NO_MT) && defined(HAVE_INTEL_ATOMIC_PRIMITIVES)
diff --git a/nixpkgs/pkgs/development/libraries/freenect/default.nix b/nixpkgs/pkgs/development/libraries/freenect/default.nix
index 2cf026514731..e13302319a11 100644
--- a/nixpkgs/pkgs/development/libraries/freenect/default.nix
+++ b/nixpkgs/pkgs/development/libraries/freenect/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "freenect";
-  version = "0.6.1";
+  version = "0.6.2";
 
   src = fetchFromGitHub {
     owner = "OpenKinect";
     repo = "libfreenect";
     rev = "v${version}";
-    sha256 = "0was1va167rqshmpn382h36yyprpfi9cwillb6ylppmnfdrfrhrr";
+    sha256 = "sha256-/CR+r9/zMj+8gxhHeRGPCDhALeF5bLsea38KQ1lF6wo=";
   };
 
   buildInputs = [ libusb1 freeglut libGLU libGL libXi libXmu ]
diff --git a/nixpkgs/pkgs/development/libraries/gdbm/default.nix b/nixpkgs/pkgs/development/libraries/gdbm/default.nix
index 16c045cd68ef..83df37f236be 100644
--- a/nixpkgs/pkgs/development/libraries/gdbm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gdbm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gdbm";
-  version = "1.19";
+  version = "1.20";
 
   src = fetchurl {
     url = "mirror://gnu/gdbm/${pname}-${version}.tar.gz";
-    sha256 = "sha256-N+0SIUEiuXLhig2UmVA55XdIGRk573QRWx1B2IETZLw=";
+    sha256 = "sha256-OurAVkizSCoQotqYa586OAoprWUL6AuYF6Q1+4EUopI=";
   };
 
   doCheck = true; # not cross;
diff --git a/nixpkgs/pkgs/development/libraries/gegl/4.0.nix b/nixpkgs/pkgs/development/libraries/gegl/4.0.nix
deleted file mode 100644
index 11f4f070c08f..000000000000
--- a/nixpkgs/pkgs/development/libraries/gegl/4.0.nix
+++ /dev/null
@@ -1,121 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, pkg-config
-, vala
-, gobject-introspection
-, gtk-doc
-, docbook-xsl-nons
-, docbook_xml_dtd_43
-, glib
-, babl
-, libpng
-, cairo
-, libjpeg
-, librsvg
-, lensfun
-, libspiro
-, maxflow
-, netsurf
-, pango
-, poly2tri-c
-, poppler
-, bzip2
-, json-glib
-, gettext
-, meson
-, ninja
-, libraw
-, gexiv2
-, libwebp
-, luajit
-, openexr
-, OpenCL
-, suitesparse
-}:
-
-stdenv.mkDerivation rec {
-  pname = "gegl";
-  version = "0.4.30";
-
-  outputs = [ "out" "dev" "devdoc" ];
-  outputBin = "dev";
-
-  src = fetchurl {
-    url = "https://download.gimp.org/pub/gegl/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-wRJ4LPQJaWniMhfM36vkIoTjXVQ1/wxD1A5McPrsqN0=";
-  };
-
-  nativeBuildInputs = [
-    pkg-config
-    gettext
-    meson
-    ninja
-    vala
-    gobject-introspection
-    gtk-doc
-    docbook-xsl-nons
-    docbook_xml_dtd_43
-  ];
-
-  buildInputs = [
-    libpng
-    cairo
-    libjpeg
-    librsvg
-    lensfun
-    libspiro
-    maxflow
-    netsurf.libnsgif
-    pango
-    poly2tri-c
-    poppler
-    bzip2
-    libraw
-    libwebp
-    gexiv2
-    luajit
-    openexr
-    suitesparse
-  ] ++ lib.optional stdenv.isDarwin OpenCL;
-
-  # for gegl-4.0.pc
-  propagatedBuildInputs = [
-    glib
-    json-glib
-    babl
-  ];
-
-  mesonFlags = [
-    "-Ddocs=true"
-    "-Dmrg=disabled" # not sure what that is
-    "-Dsdl2=disabled"
-    "-Dpygobject=disabled"
-    "-Dlibav=disabled"
-    "-Dlibv4l=disabled"
-    "-Dlibv4l2=disabled"
-    # Disabled due to multiple vulnerabilities, see
-    # https://github.com/NixOS/nixpkgs/pull/73586
-    "-Djasper=disabled"
-  ];
-
-  # TODO: Fix missing math symbols in gegl seamless clone.
-  # It only appears when we use packaged poly2tri-c instead of vendored one.
-  NIX_CFLAGS_COMPILE = "-lm";
-
-  postPatch = ''
-    chmod +x tests/opencl/opencl_test.sh
-    patchShebangs tests/ff-load-save/tests_ff_load_save.sh tests/opencl/opencl_test.sh tools/xml_insert.sh
-  '';
-
-  # tests fail to connect to the com.apple.fonts daemon in sandboxed mode
-  doCheck = !stdenv.isDarwin;
-
-  meta = with lib; {
-    description = "Graph-based image processing framework";
-    homepage = "https://www.gegl.org";
-    license = licenses.lgpl3Plus;
-    maintainers = with maintainers; [ jtojnar ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/gegl/default.nix b/nixpkgs/pkgs/development/libraries/gegl/default.nix
index bd67f3e6b7ca..11f4f070c08f 100644
--- a/nixpkgs/pkgs/development/libraries/gegl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gegl/default.nix
@@ -1,43 +1,115 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
 , pkg-config
+, vala
+, gobject-introspection
+, gtk-doc
+, docbook-xsl-nons
+, docbook_xml_dtd_43
+, glib
 , babl
 , libpng
 , cairo
 , libjpeg
 , librsvg
+, lensfun
+, libspiro
+, maxflow
+, netsurf
 , pango
-, gtk2
+, poly2tri-c
+, poppler
 , bzip2
-, intltool
-, libintl
-, OpenGL ? null }:
+, json-glib
+, gettext
+, meson
+, ninja
+, libraw
+, gexiv2
+, libwebp
+, luajit
+, openexr
+, OpenCL
+, suitesparse
+}:
 
 stdenv.mkDerivation rec {
   pname = "gegl";
-  version = "0.2.0";
+  version = "0.4.30";
+
+  outputs = [ "out" "dev" "devdoc" ];
+  outputBin = "dev";
 
   src = fetchurl {
-    url = "ftp://ftp.gtk.org/pub/gegl/0.2/${pname}-${version}.tar.bz2";
-    sha256 = "df2e6a0d9499afcbc4f9029c18d9d1e0dd5e8710a75e17c9b1d9a6480dd8d426";
+    url = "https://download.gimp.org/pub/gegl/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "sha256-wRJ4LPQJaWniMhfM36vkIoTjXVQ1/wxD1A5McPrsqN0=";
   };
 
-  patches = [( fetchurl {
-    url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/"
-      + "gegl-0.2.0-CVE-2012-4433.patch?h=packages/gegl&id=57a60fbda5d7bbbd1cc4767cb0724baa80c5e3e9";
-    sha256 = "0p8mxj3w09nn1cc6cbxrd9hx742c5y27903i608wx6ja3kdjis59";
-    name = "CVE-2012-4433.patch";
-  })];
+  nativeBuildInputs = [
+    pkg-config
+    gettext
+    meson
+    ninja
+    vala
+    gobject-introspection
+    gtk-doc
+    docbook-xsl-nons
+    docbook_xml_dtd_43
+  ];
+
+  buildInputs = [
+    libpng
+    cairo
+    libjpeg
+    librsvg
+    lensfun
+    libspiro
+    maxflow
+    netsurf.libnsgif
+    pango
+    poly2tri-c
+    poppler
+    bzip2
+    libraw
+    libwebp
+    gexiv2
+    luajit
+    openexr
+    suitesparse
+  ] ++ lib.optional stdenv.isDarwin OpenCL;
+
+  # for gegl-4.0.pc
+  propagatedBuildInputs = [
+    glib
+    json-glib
+    babl
+  ];
 
-  # needs fonts otherwise don't know how to pass them
-  configureFlags = [ "--disable-docs" ];
+  mesonFlags = [
+    "-Ddocs=true"
+    "-Dmrg=disabled" # not sure what that is
+    "-Dsdl2=disabled"
+    "-Dpygobject=disabled"
+    "-Dlibav=disabled"
+    "-Dlibv4l=disabled"
+    "-Dlibv4l2=disabled"
+    # Disabled due to multiple vulnerabilities, see
+    # https://github.com/NixOS/nixpkgs/pull/73586
+    "-Djasper=disabled"
+  ];
 
-  buildInputs = [ babl libpng cairo libjpeg librsvg pango gtk2 bzip2 intltool libintl ]
-    ++ lib.optional stdenv.isDarwin OpenGL;
+  # TODO: Fix missing math symbols in gegl seamless clone.
+  # It only appears when we use packaged poly2tri-c instead of vendored one.
+  NIX_CFLAGS_COMPILE = "-lm";
 
-  nativeBuildInputs = [ pkg-config ];
+  postPatch = ''
+    chmod +x tests/opencl/opencl_test.sh
+    patchShebangs tests/ff-load-save/tests_ff_load_save.sh tests/opencl/opencl_test.sh tools/xml_insert.sh
+  '';
 
-  doCheck = false; # fails 3 out of 19 tests
+  # tests fail to connect to the com.apple.fonts daemon in sandboxed mode
+  doCheck = !stdenv.isDarwin;
 
   meta = with lib; {
     description = "Graph-based image processing framework";
diff --git a/nixpkgs/pkgs/development/libraries/glib/default.nix b/nixpkgs/pkgs/development/libraries/glib/default.nix
index e15f59757862..3c8fe4d569fa 100644
--- a/nixpkgs/pkgs/development/libraries/glib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/glib/default.nix
@@ -45,11 +45,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "glib";
-  version = "2.68.2";
+  version = "2.68.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-7Md5ipzANOq9/X8kbm3UYc2/EXX8wumGfMfae3MJ4Ps=";
+    sha256 = "0f1iprj7v0b5wn9njj39dkl25g6filfs7i4ybk20jq821k1a7qg7";
   };
 
   patches = optionals stdenv.isDarwin [
diff --git a/nixpkgs/pkgs/development/libraries/gtkmm/3.x.nix b/nixpkgs/pkgs/development/libraries/gtkmm/3.x.nix
index 0f6811815f60..2e43e58db42d 100644
--- a/nixpkgs/pkgs/development/libraries/gtkmm/3.x.nix
+++ b/nixpkgs/pkgs/development/libraries/gtkmm/3.x.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gtkmm";
-  version = "3.24.4";
+  version = "3.24.5";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-m+txw+kM/Pt5A5a1Hj9ecWmWZ1Hv1PPvlpcRS+O+Z0M=";
+    sha256 = "1ri2msp3cmzi6r65ghwb8gfavfaxv0axpwi3q60nm7v8hvg36qw5";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/development/libraries/gtkmm/4.x.nix b/nixpkgs/pkgs/development/libraries/gtkmm/4.x.nix
index 50839568462f..0a654d9518dc 100644
--- a/nixpkgs/pkgs/development/libraries/gtkmm/4.x.nix
+++ b/nixpkgs/pkgs/development/libraries/gtkmm/4.x.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gtkmm";
-  version = "4.0.1";
+  version = "4.2.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-iXPZvHhI4CyyBR4F8+46S6/+L+tK9KVIfw4xMu7AOIQ=";
+    sha256 = "12x9j82y37r4v0ngs22rzp4wmw7k2bbb9d3bymcczzz7y8w4q328";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/intel-gmmlib/default.nix b/nixpkgs/pkgs/development/libraries/intel-gmmlib/default.nix
index a56422c87e13..c0bb8ec9ab41 100644
--- a/nixpkgs/pkgs/development/libraries/intel-gmmlib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/intel-gmmlib/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-gmmlib";
-  version = "21.1.3";
+  version = "21.2.1";
 
   src = fetchFromGitHub {
     owner  = "intel";
     repo   = "gmmlib";
     rev    = "${pname}-${version}";
-    sha256 = "05vcr2rv6l38j7rv34mvcvzpgc2gjmvsb73wyprgdj71mcwrksyq";
+    sha256 = "1icnxq4sqhi11c82kg0hnavk3gvbwgw2fshc7a7nb6w1wdiibj5n";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/intel-media-driver/default.nix b/nixpkgs/pkgs/development/libraries/intel-media-driver/default.nix
index 37375f52c32e..7aefaa9d4936 100644
--- a/nixpkgs/pkgs/development/libraries/intel-media-driver/default.nix
+++ b/nixpkgs/pkgs/development/libraries/intel-media-driver/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-media-driver";
-  version = "21.2.2";
+  version = "21.2.3";
 
   src = fetchFromGitHub {
     owner  = "intel";
     repo   = "media-driver";
     rev    = "intel-media-${version}";
-    sha256 = "0cz2zr5qmhlsb1ydffakpkw9adyvn5n2y269fp0k2sskqwlykn48";
+    sha256 = "0nldd1yfyvwnpkh0v3ni09z2zwmj84px0pcd1w50brvny36r814c";
   };
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix b/nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix
index 47a3ca4f9f99..00c80277ea2b 100644
--- a/nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/intel-media-sdk/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-media-sdk";
-  version = "21.2.2";
+  version = "21.2.3";
 
   src = fetchFromGitHub {
     owner = "Intel-Media-SDK";
     repo = "MediaSDK";
     rev = "intel-mediasdk-${version}";
-    sha256 = "sha256-iSrr9g6C8YRcmu92sTyDCh76Cdu8wbDL3COwiVxox4Q=";
+    sha256 = "sha256-Id2/d6rRKiei6UQ0pywdcbNLfIQR8gEseiDgqeaT3p8=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/libaec/default.nix b/nixpkgs/pkgs/development/libraries/libaec/default.nix
index 4c539860be72..aa146ca24133 100644
--- a/nixpkgs/pkgs/development/libraries/libaec/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libaec/default.nix
@@ -4,14 +4,14 @@
 
 stdenv.mkDerivation rec {
   pname = "libaec";
-  version  = "1.0.4";
+  version  = "1.0.5";
 
   src = fetchFromGitLab {
     domain = "gitlab.dkrz.de";
     owner = "k202009";
     repo = "libaec";
     rev = "v${version}";
-    sha256 = "1rpma89i35ahbalaqz82y201syxni7jkf9892jlyyrhhrvlnm4l2";
+    sha256 = "sha256-Vi0fCd9V/EH+PcD+e6RZK2/isR1xGX25POhm1Xen5ak=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/libbaseencode/default.nix b/nixpkgs/pkgs/development/libraries/libbaseencode/default.nix
new file mode 100644
index 000000000000..c40f9bafb476
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libbaseencode/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, lib, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  pname = "libbaseencode";
+  version = "1.0.11";
+
+  src = fetchFromGitHub {
+    owner = "paolostivanin";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1f52yh052z8k90d1ag6nk01p1gf4i1zxp1daw8mashs8avqr2m7g";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with lib; {
+    description = "Library written in C for encoding and decoding data using base32 or base64 (RFC-4648)";
+    homepage = "https://github.com/paolostivanin/libbaseencode";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ alexbakker ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libconfig/default.nix b/nixpkgs/pkgs/development/libraries/libconfig/default.nix
index 7387e9edc5b5..10d688d89b6c 100644
--- a/nixpkgs/pkgs/development/libraries/libconfig/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libconfig/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libconfig";
-  version = "1.7.2";
+  version = "1.7.3";
 
   src = fetchurl {
     url = "https://hyperrealm.github.io/${pname}/dist/${pname}-${version}.tar.gz";
-    sha256 = "1ngs2qx3cx5cbwinc5mvadly0b5n7s86zsc68c404czzfff7lg3w";
+    sha256 = "sha256-VFFm1srAN3RDgdHpzFpUBQlOe/rRakEWmbz/QLuzHuc=";
   };
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/development/libraries/libcotp/default.nix b/nixpkgs/pkgs/development/libraries/libcotp/default.nix
new file mode 100644
index 000000000000..986890102dc6
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libcotp/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, libgcrypt, libbaseencode }:
+
+stdenv.mkDerivation rec {
+  pname = "libcotp";
+  version = "1.2.3";
+
+  src = fetchFromGitHub {
+    owner = "paolostivanin";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1qq4shwiz1if9vys052dnsbm4dfw1ynlj6nsb0v4zjly3ndspfsk";
+  };
+
+  buildInputs = [ libbaseencode libgcrypt ];
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  meta = with lib; {
+    description = "C library that generates TOTP and HOTP";
+    homepage = "https://github.com/paolostivanin/libcotp";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ alexbakker ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libcyaml/default.nix b/nixpkgs/pkgs/development/libraries/libcyaml/default.nix
index b316b6b63956..0fabdb49ca11 100644
--- a/nixpkgs/pkgs/development/libraries/libcyaml/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcyaml/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libcyaml";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "tlsa";
     repo = "libcyaml";
     rev = "v${version}";
-    sha256 = "0428p0rwq71nhh5nzcbapsbrjxa0x5l6h6ns32nxv7j624f0zd93";
+    sha256 = "sha256-LtU1r95YoLuQ2JCphxbMojxKyXnt50XEARGUPftLgsU=";
   };
 
   buildInputs = [ libyaml ];
diff --git a/nixpkgs/pkgs/development/libraries/libdvdnav/default.nix b/nixpkgs/pkgs/development/libraries/libdvdnav/default.nix
index 3eb1032b2a79..8414605593de 100644
--- a/nixpkgs/pkgs/development/libraries/libdvdnav/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libdvdnav/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libdvdnav";
-  version = "6.1.0";
+  version = "6.1.1";
 
   src = fetchurl {
     url = "http://get.videolan.org/libdvdnav/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "0nzf1ir27s5vs1jrisdiw9ag2sc160k3gv7nplv9ypppm5gb35zn";
+    sha256 = "sha256-wZGnR1lH0yP/doDPksD7G+gjdwGIXzdlbGTQTpjRjUg=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/libint/default.nix b/nixpkgs/pkgs/development/libraries/libint/default.nix
index 6df3d5a7eb3e..330fe8eac26b 100644
--- a/nixpkgs/pkgs/development/libraries/libint/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libint/default.nix
@@ -71,6 +71,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/evaleev/libint";
     license = with licenses; [ lgpl3Only gpl3Only ];
     maintainers = [ maintainers.markuskowa ];
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libliftoff/default.nix b/nixpkgs/pkgs/development/libraries/libliftoff/default.nix
new file mode 100644
index 000000000000..759549dbb289
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libliftoff/default.nix
@@ -0,0 +1,34 @@
+{ lib, stdenv, fetchFromGitHub
+, meson, pkg-config, ninja
+, libdrm
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libliftoff";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "emersion";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1s53jsll3c7272bhmh4jr6k5m1nvn8i1ld704qmzsm852ilmgrla";
+  };
+
+  nativeBuildInputs = [ meson pkg-config ninja ];
+
+  buildInputs = [ libdrm ];
+
+  meta = with lib; {
+    description = "A lightweight KMS plane library";
+    longDescription = ''
+      libliftoff eases the use of KMS planes from userspace without standing in
+      your way. Users create "virtual planes" called layers, set KMS properties
+      on them, and libliftoff will pick planes for these layers if possible.
+    '';
+    inherit (src.meta) homepage;
+    changelog = "https://github.com/emersion/libliftoff/releases/tag/v${version}";
+    license     = licenses.mit;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ primeos ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/libmbim/default.nix b/nixpkgs/pkgs/development/libraries/libmbim/default.nix
index ef13fdc9de12..43a88f9dd5fb 100644
--- a/nixpkgs/pkgs/development/libraries/libmbim/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libmbim/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmbim";
-  version = "1.24.6";
+  version = "1.24.8";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libmbim/${pname}-${version}.tar.xz";
-    sha256 = "sha256-dgRlyqoczWmcFCkOl5HaRW1TAN0R6/TBSGFRAz6HXf0=";
+    sha256 = "sha256-AlkHNhY//xDlcyGR/MwbmSCWlhbdxZYToAMFKhFqPCU=";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/nixpkgs/pkgs/development/libraries/libnbd/default.nix b/nixpkgs/pkgs/development/libraries/libnbd/default.nix
index 2254c8241545..635f8b8a6159 100644
--- a/nixpkgs/pkgs/development/libraries/libnbd/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libnbd/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libnbd";
-  version = "1.7.7";
+  version = "1.9.2";
 
   src = fetchurl {
     url = "https://download.libguestfs.org/libnbd/${lib.versions.majorMinor version}-development/${pname}-${version}.tar.gz";
-    hash = "sha256-fNeu1qx+EbKitv2I8nJAmGMF5jxN2RZGPR/LJYnOjG8=";
+    hash = "sha256-UDLH5IMuKI6mAO/9VNmI8pCbxv94tCCQYRKZn2DBclg=";
   };
 
   nativeBuildInputs = [
@@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
     pkg-config
     perl
   ];
+
   buildInputs = [
     fuse
     gnutls
diff --git a/nixpkgs/pkgs/development/libraries/libqalculate/default.nix b/nixpkgs/pkgs/development/libraries/libqalculate/default.nix
index 45b79571b43a..9368469f26dd 100644
--- a/nixpkgs/pkgs/development/libraries/libqalculate/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libqalculate/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libqalculate";
-  version = "3.18.0";
+  version = "3.19.0";
 
   src = fetchFromGitHub {
     owner = "qalculate";
     repo = "libqalculate";
     rev = "v${version}";
-    sha256 = "sha256-cQNcKa/mEdeH1MaLhj203MOphfYDTQ5pn/GzUmSZGcE=";
+    sha256 = "1w44407wb552q21dz4m2nwwdi8b9hzjb2w1l3ffsikzqckc7wbyj";
   };
 
   outputs = [ "out" "dev" "doc" ];
diff --git a/nixpkgs/pkgs/development/libraries/libqmi/default.nix b/nixpkgs/pkgs/development/libraries/libqmi/default.nix
index a812a2d78489..157445cfee82 100644
--- a/nixpkgs/pkgs/development/libraries/libqmi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libqmi/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libqmi";
-  version = "1.28.4";
+  version = "1.28.6";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libqmi/${pname}-${version}.tar.xz";
-    sha256 = "sha256-OxTNKrUiGnrbs5/tFu9pdTjqHHkwiCGtLRm1BeHarqA=";
+    sha256 = "1zg5k8f6l87iy9hmzwckdx532s845z9c5npblmpf1pp17n4r1f6b";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/libsoup/default.nix b/nixpkgs/pkgs/development/libraries/libsoup/default.nix
index 960591d1a22d..0cc4c8b3453a 100644
--- a/nixpkgs/pkgs/development/libraries/libsoup/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libsoup/default.nix
@@ -1,6 +1,24 @@
-{ stdenv, lib, fetchurl, fetchpatch, glib, libxml2, meson, ninja, pkg-config, gnome, libsysprof-capture
-, gnomeSupport ? true, sqlite, glib-networking, gobject-introspection, vala
-, libpsl, python3, brotli
+{ stdenv
+, lib
+, fetchurl
+, glib
+, libxml2
+, meson
+, ninja
+, pkg-config
+, gnome
+, libsysprof-capture
+, gnomeSupport ? true
+, sqlite
+, glib-networking
+, gobject-introspection
+, withIntrospection ? stdenv.buildPlatform == stdenv.hostPlatform
+, vala
+, withVala ? stdenv.buildPlatform == stdenv.hostPlatform
+, libpsl
+, python3
+, brotli
+, fetchpatch
 }:
 
 stdenv.mkDerivation rec {
@@ -35,7 +53,9 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals stdenv.isLinux [
     libsysprof-capture
   ];
-  nativeBuildInputs = [ meson ninja pkg-config gobject-introspection vala glib ];
+  nativeBuildInputs = [ meson ninja pkg-config glib ]
+    ++ lib.optional withIntrospection gobject-introspection
+    ++ lib.optional withVala vala;
   propagatedBuildInputs = [ glib libxml2 ];
 
   NIX_CFLAGS_COMPILE = [ "-lpthread" ];
@@ -43,7 +63,8 @@ stdenv.mkDerivation rec {
   mesonFlags = [
     "-Dtls_check=false" # glib-networking is a runtime dependency, not a compile-time dependency
     "-Dgssapi=disabled"
-    "-Dvapi=enabled"
+    "-Dvapi=${if withVala then "enabled" else "disabled"}"
+    "-Dintrospection=${if withIntrospection then "enabled" else "disabled"}"
     "-Dgnome=${lib.boolToString gnomeSupport}"
     "-Dntlm=disabled"
   ] ++ lib.optionals (!stdenv.isLinux) [
diff --git a/nixpkgs/pkgs/development/libraries/libstatgrab/default.nix b/nixpkgs/pkgs/development/libraries/libstatgrab/default.nix
index 6d874fe23678..fe2717cfeb36 100644
--- a/nixpkgs/pkgs/development/libraries/libstatgrab/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libstatgrab/default.nix
@@ -1,5 +1,8 @@
-{ lib, stdenv, fetchurl
-, IOKit ? null }:
+{ lib
+, stdenv
+, fetchurl
+, IOKit
+}:
 
 stdenv.mkDerivation rec {
   name = "libstatgrab-0.92";
@@ -9,11 +12,12 @@ stdenv.mkDerivation rec {
     sha256 = "15m1sl990l85ijf8pnc6hdfha6fqyiq74mijrzm3xz4zzxm91wav";
   };
 
-  buildInputs = [] ++ lib.optional stdenv.isDarwin IOKit;
+  buildInputs = lib.optional stdenv.isDarwin IOKit;
 
   meta = with lib; {
     homepage = "https://www.i-scream.org/libstatgrab/";
     description = "A library that provides cross platforms access to statistics about the running system";
+    maintainers = with maintainers; [ ];
     license = licenses.gpl2;
     platforms = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/development/libraries/libvmaf/default.nix b/nixpkgs/pkgs/development/libraries/libvmaf/default.nix
index c4b945bed446..1410822a1ca4 100644
--- a/nixpkgs/pkgs/development/libraries/libvmaf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libvmaf/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libvmaf";
-  version = "2.1.1";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "netflix";
     repo = "vmaf";
     rev = "v${version}";
-    sha256 = "0dynk1pmsyf23vfxljaazqkr27vfrvhj3dyjzm06zxpzsn59aif3";
+    sha256 = "1jlmivmdzlhizljbmsvqqxnhjfyjh8zxyf5xv6j040vbfj4mf14f";
   };
 
   sourceRoot = "source/libvmaf";
diff --git a/nixpkgs/pkgs/development/libraries/libvpx/1_8.nix b/nixpkgs/pkgs/development/libraries/libvpx/1_8.nix
index f1a2bf377cc0..befbafd5a4ec 100644
--- a/nixpkgs/pkgs/development/libraries/libvpx/1_8.nix
+++ b/nixpkgs/pkgs/development/libraries/libvpx/1_8.nix
@@ -69,7 +69,14 @@ stdenv.mkDerivation rec {
 #    ./CVE-2019-9232.CVE-2019-9325.CVE-2019-9371.CVE-2019-9433.patch
   ];
 
-  postPatch = "patchShebangs .";
+  postPatch = ''
+    patchShebangs --build \
+      build/make/*.sh \
+      build/make/*.pl \
+      build/make/*.pm \
+      test/*.sh \
+      configure
+  '';
 
   outputs = [ "bin" "dev" "out" ];
   setOutputFlags = false;
@@ -135,11 +142,6 @@ stdenv.mkDerivation rec {
                     experimentalFpMbStatsSupport ||
                     experimentalEmulateHardwareSupport) "experimental")
   ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-    #"--extra-cflags="
-    #"--extra-cxxflags="
-    #"--prefix="
-    #"--libc="
-    #"--libdir="
     "--enable-external-build"
     # libvpx darwin targets include darwin version (ie. ARCH-darwinXX-gcc, XX being the darwin version)
     # See all_platforms: https://github.com/webmproject/libvpx/blob/master/configure
diff --git a/nixpkgs/pkgs/development/libraries/libvpx/default.nix b/nixpkgs/pkgs/development/libraries/libvpx/default.nix
index f19183966163..d538aa41bff3 100644
--- a/nixpkgs/pkgs/development/libraries/libvpx/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libvpx/default.nix
@@ -65,7 +65,21 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-EZP33U10fchyqy7Jr26vHgUUfWR6xtG3fcMWUII0m9w=";
   };
 
-  postPatch = "patchShebangs .";
+  postPatch = ''
+    patchShebangs --build \
+      build/make/*.sh \
+      build/make/*.pl \
+      build/make/*.pm \
+      test/*.sh \
+      configure
+
+    # When cross-compiling (for aarch64-multiplatform), the compiler errors out on these flags.
+    # Since they're 'just' warnings, it's fine to just remove them.
+    substituteInPlace configure \
+      --replace "check_add_cflags -Wparentheses-equality" "" \
+      --replace "check_add_cflags -Wunreachable-code-loop-increment" "" \
+      --replace "check_cflags -Wshorten-64-to-32 && add_cflags_only -Wshorten-64-to-32" ""
+  '';
 
   outputs = [ "bin" "dev" "out" ];
   setOutputFlags = false;
@@ -131,12 +145,6 @@ stdenv.mkDerivation rec {
                     experimentalFpMbStatsSupport ||
                     experimentalEmulateHardwareSupport) "experimental")
   ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-    #"--extra-cflags="
-    #"--extra-cxxflags="
-    #"--prefix="
-    #"--libc="
-    #"--libdir="
-    "--enable-external-build"
     # libvpx darwin targets include darwin version (ie. ARCH-darwinXX-gcc, XX being the darwin version)
     # See all_platforms: https://github.com/webmproject/libvpx/blob/master/configure
     # Darwin versions: 10.4=8, 10.5=9, 10.6=10, 10.7=11, 10.8=12, 10.9=13, 10.10=14
diff --git a/nixpkgs/pkgs/development/libraries/libxlsxwriter/default.nix b/nixpkgs/pkgs/development/libraries/libxlsxwriter/default.nix
index 4bb80cb04a45..ce9a72f00c1c 100644
--- a/nixpkgs/pkgs/development/libraries/libxlsxwriter/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libxlsxwriter/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libxlsxwriter";
-  version = "1.0.6";
+  version = "1.0.8";
 
   src = fetchFromGitHub {
     owner = "jmcnamara";
     repo = "libxlsxwriter";
     rev = "RELEASE_${version}";
-    sha256 = "03fdcbm0xnkxwv6fir4yy4x9q2p5h08j099w9xh5gc2ni7ygjlyx";
+    sha256 = "1z9bkg0pfkzxbpj2rys4mx9wmcxyjjqsg0nbiaabsg455q00plki";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/mesa/default.nix b/nixpkgs/pkgs/development/libraries/mesa/default.nix
index bdecfe0d57ad..aaa78de47f75 100644
--- a/nixpkgs/pkgs/development/libraries/mesa/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mesa/default.nix
@@ -31,7 +31,7 @@ with lib;
 let
   # Release calendar: https://www.mesa3d.org/release-calendar.html
   # Release frequency: https://www.mesa3d.org/releasing.html#schedule
-  version = "21.1.3";
+  version = "21.1.4";
   branch  = versions.major version;
 
 self = stdenv.mkDerivation {
@@ -45,7 +45,7 @@ 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 = "0s8yi7y63xsyqw19ihil18fykkjxr6ibcir2fvymz1vh4ql23qnb";
+    sha256 = "02z9g6zpkg1p1sm8f84xdi7v2n7x534x9pn565bvcr411527y5qz";
   };
 
   prePatch = "patchShebangs .";
diff --git a/nixpkgs/pkgs/development/libraries/mimalloc/default.nix b/nixpkgs/pkgs/development/libraries/mimalloc/default.nix
index 36abc9f3276e..1e9e44e09973 100644
--- a/nixpkgs/pkgs/development/libraries/mimalloc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mimalloc/default.nix
@@ -7,42 +7,35 @@ let
 in
 stdenv.mkDerivation rec {
   pname   = "mimalloc";
-  version = "2.0.0";
+  version = "2.0.2";
 
   src = fetchFromGitHub {
     owner  = "microsoft";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "sha256-BMDCreY41CxJaPo9BdSRZlqh/YjtPC9aI/Zxt501e+0=";
+    sha256 = "sha256-n4FGld3bq6ZOSLTzXcVlucCGbQ5/eSFbijU0dfBD/T0=";
   };
 
   nativeBuildInputs = [ cmake ninja ];
-  cmakeFlags = lib.optional secureBuild [ "-DMI_SECURE=ON" ];
+  cmakeFlags = [ "-DMI_INSTALL_TOPLEVEL=ON" ] ++ lib.optional secureBuild [ "-DMI_SECURE=ON" ];
 
   postInstall = let
     rel = lib.versions.majorMinor version;
+    suffix = if stdenv.isLinux then "${soext}.${rel}" else ".${rel}${soext}";
   in ''
-    # first, install headers, that's easy
-    mkdir -p $dev
-    mv $out/lib/*/include $dev/include
+    # first, move headers and cmake files, that's easy
+    mkdir -p $dev/lib
+    mv $out/include $dev/include
+    mv $out/cmake $dev/lib/
 
-    # move .a and .o files into place
     find $out/lib
-    mv $out/lib/mimalloc-${rel}/libmimalloc*.a           $out/lib/libmimalloc.a
-    mv $out/lib/mimalloc-${rel}/mimalloc*.o              $out/lib/mimalloc.o
-
-  '' + (if secureBuild then ''
-    mv $out/lib/mimalloc-${rel}/libmimalloc-secure${soext}.${rel} $out/lib/libmimalloc-secure${soext}.${rel}
-    ln -sfv $out/lib/libmimalloc-secure${soext}.${rel} $out/lib/libmimalloc-secure${soext}
-    ln -sfv $out/lib/libmimalloc-secure${soext}.${rel} $out/lib/libmimalloc${soext}
-  '' else ''
-    mv $out/lib/mimalloc-${rel}/libmimalloc${soext}.${rel} $out/lib/libmimalloc${soext}.${rel}
-    ln -sfv $out/lib/libmimalloc${soext}.${rel} $out/lib/libmimalloc${soext}
-  '') + ''
-    # remote duplicate dir. FIXME: try to fix the .cmake file distribution
-    # so we can re-use it for dependencies...
-    rm -rf $out/lib/mimalloc-${rel}
-  '';
+  '' + (lib.optionalString secureBuild ''
+    # pretend we're normal mimalloc
+    ln -sfv $out/lib/libmimalloc-secure${suffix} $out/lib/libmimalloc${suffix}
+    ln -sfv $out/lib/libmimalloc-secure${suffix} $out/lib/libmimalloc${soext}
+    ln -sfv $out/lib/libmimalloc-secure.a $out/lib/libmimalloc.a
+    ln -sfv $out/lib/mimalloc-secure.o $out/lib/mimalloc.o
+  '');
 
   outputs = [ "out" "dev" ];
 
@@ -52,6 +45,5 @@ stdenv.mkDerivation rec {
     license     = licenses.bsd2;
     platforms   = platforms.unix;
     maintainers = with maintainers; [ thoughtpolice ];
-    badPlatforms = platforms.darwin;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/opencolorio/default.nix b/nixpkgs/pkgs/development/libraries/opencolorio/default.nix
index 522c8cfa4a13..b93e517def66 100644
--- a/nixpkgs/pkgs/development/libraries/opencolorio/default.nix
+++ b/nixpkgs/pkgs/development/libraries/opencolorio/default.nix
@@ -1,5 +1,5 @@
 {
-  stdenv, lib, fetchFromGitHub,
+  stdenv, lib, fetchFromGitHub, symlinkJoin,
   cmake, expat, libyamlcpp, ilmbase, pystring, # Base dependencies
 
   glew, freeglut, # Only required on Linux
@@ -25,8 +25,8 @@ stdenv.mkDerivation rec {
     sha256 = "194j9jp5c8ws0fryiz936wyinphnpzwpqnzvw9ryx6rbiwrba487";
   };
 
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ expat libyamlcpp ilmbase pystring ]
+  nativeBuildInputs = [ cmake (symlinkJoin { name = "expat"; paths = [ expat.out expat.dev ]; }) ];
+  buildInputs = [ expat.out libyamlcpp ilmbase pystring ]
     ++ lib.optionals stdenv.hostPlatform.isLinux [ glew freeglut ]
     ++ lib.optionals stdenv.hostPlatform.isDarwin [ Carbon GLUT Cocoa ]
     ++ lib.optionals pythonBindings [ python3Packages.python python3Packages.pybind11 ]
diff --git a/nixpkgs/pkgs/development/libraries/openmpi/default.nix b/nixpkgs/pkgs/development/libraries/openmpi/default.nix
index 2df08426368d..35708c0ac016 100644
--- a/nixpkgs/pkgs/development/libraries/openmpi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/openmpi/default.nix
@@ -13,20 +13,21 @@
 
 # Enable libfabric support (necessary for Omnipath networks) on x86_64 linux
 , fabricSupport ? stdenv.isLinux && stdenv.isx86_64
+
+# Enable Fortran support
+, fortranSupport ? true
 }:
 
 assert !cudaSupport || cudatoolkit != null;
 
 let
-  version = "4.1.1";
-
   cudatoolkit_joined = symlinkJoin {
     name = "${cudatoolkit.name}-unsplit";
     paths = [ cudatoolkit.out cudatoolkit.lib ];
   };
 in stdenv.mkDerivation rec {
   pname = "openmpi";
-  inherit version;
+  version = "4.1.1";
 
   src = with lib.versions; fetchurl {
     url = "https://www.open-mpi.org/software/ompi/v${major version}.${minor version}/downloads/${pname}-${version}.tar.bz2";
@@ -44,17 +45,19 @@ in stdenv.mkDerivation rec {
     find -name "Makefile.in" -exec sed -i "s/\`date\`/$ts/" \{} \;
   '';
 
-  buildInputs = with stdenv; [ gfortran zlib ]
-    ++ lib.optionals isLinux [ libnl numactl pmix ucx ]
+  buildInputs = [ zlib ]
+    ++ lib.optionals fortranSupport [ gfortran ]
+    ++ lib.optionals stdenv.isLinux [ libnl numactl pmix ucx ]
     ++ lib.optionals cudaSupport [ cudatoolkit ]
     ++ [ libevent hwloc ]
-    ++ lib.optional (isLinux || isFreeBSD) rdma-core
+    ++ lib.optional (stdenv.isLinux || stdenv.isFreeBSD) rdma-core
     ++ lib.optional fabricSupport [ libpsm2 libfabric ];
 
   nativeBuildInputs = [ perl ];
 
-  configureFlags = with stdenv; lib.optional (!cudaSupport) "--disable-mca-dso"
-    ++ lib.optionals isLinux  [
+  configureFlags = lib.optional (!cudaSupport) "--disable-mca-dso"
+    ++ lib.optional (!fortranSupport) "--disable-mpi-fortran"
+    ++ lib.optionals stdenv.isLinux  [
       "--with-libnl=${libnl.dev}"
       "--with-pmix=${pmix}"
       "--with-pmix-libdir=${pmix}/lib"
@@ -70,6 +73,16 @@ in stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  # disable stackprotector on aarch64-darwin for now
+  # https://github.com/NixOS/nixpkgs/issues/127608
+  #
+  # build error:
+  #
+  # /private/tmp/nix-build-openmpi-4.1.1.drv-0/ccg7QqR8.s:13:15: error: index must be an integer in range [-256, 255].
+  #         ldr     x2, [x2, ___stack_chk_guard];momd
+  #
+  hardeningDisable = lib.optionals (stdenv.isAarch64 && stdenv.isDarwin) [ "stackprotector" ];
+
   postInstall = ''
     rm -f $out/lib/*.la
    '';
@@ -86,6 +99,7 @@ in stdenv.mkDerivation rec {
 
     sed -i 's:compiler=.*:compiler=${targetPackages.stdenv.cc}/bin/${targetPackages.stdenv.cc.targetPrefix}c++:' \
        $out/share/openmpi/mpic++-wrapper-data.txt
+  '' + lib.optionalString fortranSupport ''
 
     sed -i 's:compiler=.*:compiler=${gfortran}/bin/${gfortran.targetPrefix}gfortran:'  \
        $out/share/openmpi/mpifort-wrapper-data.txt
diff --git a/nixpkgs/pkgs/development/libraries/pango/default.nix b/nixpkgs/pkgs/development/libraries/pango/default.nix
index f4dba00d3518..c75e33a0686e 100644
--- a/nixpkgs/pkgs/development/libraries/pango/default.nix
+++ b/nixpkgs/pkgs/development/libraries/pango/default.nix
@@ -19,15 +19,19 @@
 , x11Support? !stdenv.isDarwin, libXft
 }:
 
+let
+  withDocs = stdenv.buildPlatform == stdenv.hostPlatform;
+in
 stdenv.mkDerivation rec {
   pname = "pango";
-  version = "1.48.4";
+  version = "1.48.5";
 
-  outputs = [ "bin" "out" "dev" "devdoc" ];
+  outputs = [ "bin" "out" "dev" ]
+    ++ lib.optionals withDocs [ "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0ym3cvajy2asapj8xbhfpy05rak79afrhi32hiss0w900vxi72a1";
+    sha256 = "0aivpd6l5687lj5293j859zd7vq97yxpzvad0b6jvh3kc54p87jh";
   };
 
   nativeBuildInputs = [
@@ -58,9 +62,11 @@ stdenv.mkDerivation rec {
   ];
 
   mesonFlags = [
-    "-Dgtk_doc=true"
+    "-Dgtk_doc=${lib.boolToString withDocs}"
   ] ++ lib.optionals (!x11Support) [
     "-Dxft=disabled" # only works with x11
+  ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
+    "-Dintrospection=disabled"
   ];
 
   # Fontconfig error: Cannot load default config file
@@ -70,7 +76,7 @@ stdenv.mkDerivation rec {
 
   doCheck = false; # test-font: FAIL
 
-  postInstall = ''
+  postInstall = lib.optionalString withDocs ''
     # So that devhelp can find this.
     # https://gitlab.gnome.org/GNOME/pango/merge_requests/293/diffs#note_1058448
     mkdir -p "$devdoc/share/devhelp"
diff --git a/nixpkgs/pkgs/development/libraries/pipewire/0055-pipewire-media-session-path.patch b/nixpkgs/pkgs/development/libraries/pipewire/0055-pipewire-media-session-path.patch
index be6683c3e7b7..8290aec5dfc4 100644
--- a/nixpkgs/pkgs/development/libraries/pipewire/0055-pipewire-media-session-path.patch
+++ b/nixpkgs/pkgs/development/libraries/pipewire/0055-pipewire-media-session-path.patch
@@ -2,16 +2,13 @@ diff --git a/meson_options.txt b/meson_options.txt
 index 93b5e2a9..1b915ac3 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
-@@ -13,6 +13,9 @@ option('media-session',
-        description: 'Build and install pipewire-media-session',
+@@ -200,3 +200,6 @@ option('media-session',
         type: 'feature',
         value: 'auto')
 +option('media-session-prefix',
 +       description: 'Install directory for pipewire-media-session and its support files',
 +       type: 'string')
- option('man',
-        description: 'Build manpages',
-        type: 'feature',
+ option('session-managers',
 diff --git a/src/daemon/systemd/user/meson.build b/src/daemon/systemd/user/meson.build
 index 1edebb2d..251270eb 100644
 --- a/src/daemon/systemd/user/meson.build
diff --git a/nixpkgs/pkgs/development/libraries/pipewire/0090-pipewire-config-template-paths.patch b/nixpkgs/pkgs/development/libraries/pipewire/0090-pipewire-config-template-paths.patch
index 966cb9579777..1f1a98780e9c 100644
--- a/nixpkgs/pkgs/development/libraries/pipewire/0090-pipewire-config-template-paths.patch
+++ b/nixpkgs/pkgs/development/libraries/pipewire/0090-pipewire-config-template-paths.patch
@@ -6,8 +6,8 @@ index bbafa134..227d3e06 100644
              # access.allowed to list an array of paths of allowed
              # apps.
              #access.allowed = [
--            #    @media_session_path@
-+            #    <media_session_path>
+-            #    @session_manager_path@
++            #    <session_manager_path>
              #]
  
              # An array of rejected paths.
@@ -15,8 +15,8 @@ index bbafa134..227d3e06 100644
      # but it is better to start it as a systemd service.
      # Run the session manager with -h for options.
      #
--    @comment@{ path = "@media_session_path@"  args = "" }
-+    @comment@{ path = "<media_session_path>"  args = "" }
+-    @comment@{ path = "@session_manager_path@"  args = "@session_manager_args@" }
++    @comment@{ path = "<session_manager_path>"  args = "@session_manager_args@" }
      #
      # You can optionally start the pulseaudio-server here as well
      # but it is better to start it as a systemd service.
diff --git a/nixpkgs/pkgs/development/libraries/pipewire/default.nix b/nixpkgs/pkgs/development/libraries/pipewire/default.nix
index 8504d2669849..5f32216737ef 100644
--- a/nixpkgs/pkgs/development/libraries/pipewire/default.nix
+++ b/nixpkgs/pkgs/development/libraries/pipewire/default.nix
@@ -14,6 +14,7 @@
 , dbus
 , alsa-lib
 , libjack2
+, libusb1
 , udev
 , libva
 , libsndfile
@@ -43,10 +44,11 @@ let
   };
 
   mesonEnable = b: if b then "enabled" else "disabled";
+  mesonList = l: "[" + lib.concatStringsSep "," l + "]";
 
   self = stdenv.mkDerivation rec {
     pname = "pipewire";
-    version = "0.3.30";
+    version = "0.3.31";
 
     outputs = [
       "out"
@@ -64,7 +66,7 @@ let
       owner = "pipewire";
       repo = "pipewire";
       rev = version;
-      sha256 = "sha256-DnaPvZoDaegjtJNKBmCJEAZe5FQBnSER79FPnxiWQUE=";
+      sha256 = "1dirz69ami7bcgy6hhh0ffi9gzwcy9idg94nvknwvwkjw4zm8m79";
     };
 
     patches = [
@@ -96,6 +98,7 @@ let
       dbus
       glib
       libjack2
+      libusb1
       libsndfile
       ncurses
       udev
@@ -122,6 +125,7 @@ let
       "-Dmedia-session-prefix=${placeholder "mediaSession"}"
       "-Dlibjack-path=${placeholder "jack"}/lib"
       "-Dlibcamera=disabled"
+      "-Droc=disabled"
       "-Dlibpulse=${mesonEnable pulseTunnelSupport}"
       "-Davahi=${mesonEnable zeroconfSupport}"
       "-Dgstreamer=${mesonEnable gstreamerSupport}"
@@ -133,6 +137,7 @@ let
       "-Dbluez5-backend-hsphfpd=${mesonEnable hsphfpdSupport}"
       "-Dsysconfdir=/etc"
       "-Dpipewire_confdata_dir=${placeholder "lib"}/share/pipewire"
+      "-Dsession-managers=${mesonList (lib.optional withMediaSession "media-session")}"
     ];
 
     FONTCONFIG_FILE = fontsConf; # Fontconfig error: Cannot load default config file
@@ -187,6 +192,7 @@ let
           paths-out-media-session = [
             "nix-support/etc/pipewire/media-session.d/alsa-monitor.conf.json"
             "nix-support/etc/pipewire/media-session.d/bluez-monitor.conf.json"
+            "nix-support/etc/pipewire/media-session.d/bluez-hardware.conf.json"
             "nix-support/etc/pipewire/media-session.d/media-session.conf.json"
             "nix-support/etc/pipewire/media-session.d/v4l2-monitor.conf.json"
           ];
diff --git a/nixpkgs/pkgs/development/libraries/protobuf/3.17.nix b/nixpkgs/pkgs/development/libraries/protobuf/3.17.nix
new file mode 100644
index 000000000000..d869b9ce76ef
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/protobuf/3.17.nix
@@ -0,0 +1,6 @@
+{ callPackage, ... }:
+
+callPackage ./generic-v3.nix {
+  version = "3.17.3";
+  sha256 = "08644kaxhpjs38q5q4fp01yr0wakg1ijha4g3lzp2ifg7y3c465d";
+}
diff --git a/nixpkgs/pkgs/development/libraries/rocclr/default.nix b/nixpkgs/pkgs/development/libraries/rocclr/default.nix
index c93ea5ba78ba..cf085d50edb0 100644
--- a/nixpkgs/pkgs/development/libraries/rocclr/default.nix
+++ b/nixpkgs/pkgs/development/libraries/rocclr/default.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
     description = "Radeon Open Compute common language runtime";
     homepage = "https://github.com/ROCm-Developer-Tools/ROCclr";
     license = licenses.mit;
-    maintainers = with maintainers; [ danieldk ];
+    maintainers = with maintainers; [ ];
     # rocclr seems to have some AArch64 ifdefs, but does not seem
     # to be supported yet by the build infrastructure. Recheck in
     # the future.
diff --git a/nixpkgs/pkgs/development/libraries/rocm-comgr/default.nix b/nixpkgs/pkgs/development/libraries/rocm-comgr/default.nix
index b9a34b113ebd..95fe28ce9fd3 100644
--- a/nixpkgs/pkgs/development/libraries/rocm-comgr/default.nix
+++ b/nixpkgs/pkgs/development/libraries/rocm-comgr/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
     description = "APIs for compiling and inspecting AMDGPU code objects";
     homepage = "https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/tree/amd-stg-open/lib/comgr";
     license = licenses.ncsa;
-    maintainers = with maintainers; [ danieldk ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/rocm-device-libs/default.nix b/nixpkgs/pkgs/development/libraries/rocm-device-libs/default.nix
index e62d6f0076fc..383d91bd08c1 100644
--- a/nixpkgs/pkgs/development/libraries/rocm-device-libs/default.nix
+++ b/nixpkgs/pkgs/development/libraries/rocm-device-libs/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     description = "Set of AMD-specific device-side language runtime libraries";
     homepage = "https://github.com/RadeonOpenCompute/ROCm-Device-Libs";
     license = licenses.ncsa;
-    maintainers = with maintainers; [ danieldk ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/rocm-opencl-icd/default.nix b/nixpkgs/pkgs/development/libraries/rocm-opencl-icd/default.nix
index 903c238f4553..0a9d124561e2 100644
--- a/nixpkgs/pkgs/development/libraries/rocm-opencl-icd/default.nix
+++ b/nixpkgs/pkgs/development/libraries/rocm-opencl-icd/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "OpenCL ICD definition for AMD GPUs using the ROCm stack";
     license = licenses.mit;
-    maintainers = with maintainers; [ danieldk ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/rocm-opencl-runtime/default.nix b/nixpkgs/pkgs/development/libraries/rocm-opencl-runtime/default.nix
index d721cfece96a..40ffcae79246 100644
--- a/nixpkgs/pkgs/development/libraries/rocm-opencl-runtime/default.nix
+++ b/nixpkgs/pkgs/development/libraries/rocm-opencl-runtime/default.nix
@@ -77,7 +77,7 @@ stdenv.mkDerivation rec {
     description = "OpenCL runtime for AMD GPUs, part of the ROCm stack";
     homepage = "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime";
     license = with licenses; [ asl20 mit ];
-    maintainers = with maintainers; [ danieldk ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/rocm-runtime/default.nix b/nixpkgs/pkgs/development/libraries/rocm-runtime/default.nix
index c63e8249cfc0..eb4ce3c19fb6 100644
--- a/nixpkgs/pkgs/development/libraries/rocm-runtime/default.nix
+++ b/nixpkgs/pkgs/development/libraries/rocm-runtime/default.nix
@@ -43,6 +43,6 @@ stdenv.mkDerivation rec {
     description = "Platform runtime for ROCm";
     homepage = "https://github.com/RadeonOpenCompute/ROCR-Runtime";
     license = with licenses; [ ncsa ];
-    maintainers = with maintainers; [ danieldk ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/rocm-thunk/default.nix b/nixpkgs/pkgs/development/libraries/rocm-thunk/default.nix
index 1339e035ebfd..770dd16740ca 100644
--- a/nixpkgs/pkgs/development/libraries/rocm-thunk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/rocm-thunk/default.nix
@@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
     description = "Radeon open compute thunk interface";
     homepage = "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface";
     license = with licenses; [ bsd2 mit ];
-    maintainers = with maintainers; [ danieldk ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/science/math/blas/default.nix b/nixpkgs/pkgs/development/libraries/science/math/blas/default.nix
index 332806c495c9..85a73ccd5697 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/blas/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/blas/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "blas";
-  version = "3.8.0";
+  version = "3.10.0";
 
   src = fetchurl {
     url = "http://www.netlib.org/blas/${pname}-${version}.tgz";
-    sha256 = "1s24iry5197pskml4iygasw196bdhplj0jmbsb9jhabcjqj2mpsm";
+    sha256 = "sha256-LjYNmcm9yEB6YYiMQKqFP7QhlCDruCZNtIbLiGBGirM=";
   };
 
   buildInputs = [ gfortran ];
@@ -20,17 +20,17 @@ stdenv.mkDerivation rec {
     echo >>make.inc "NOOPT = -O0 -fPIC"
     echo >>make.inc "LOADER = gfortran"
     echo >>make.inc "LOADOPTS ="
-    echo >>make.inc "ARCH = gfortran"
-    echo >>make.inc "ARCHFLAGS = -shared -o"
+    echo >>make.inc "AR = gfortran"
+    echo >>make.inc "ARFLAGS = -shared -o"
     echo >>make.inc "RANLIB = echo"
     echo >>make.inc "BLASLIB = libblas.so.${version}"
   '';
 
   buildPhase = ''
     make
-    echo >>make.inc "ARCHFLAGS = "
+    echo >>make.inc "ARFLAGS = "
     echo >>make.inc "BLASLIB = libblas.a"
-    echo >>make.inc "ARCH = ar rcs"
+    echo >>make.inc "AR = ar rcs"
     echo >>make.inc "RANLIB = ranlib"
     make
   '';
diff --git a/nixpkgs/pkgs/development/libraries/science/math/liblapack/default.nix b/nixpkgs/pkgs/development/libraries/science/math/liblapack/default.nix
index 50563f2745ab..66f343d4912d 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/liblapack/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/liblapack/default.nix
@@ -7,7 +7,7 @@
 }:
 let
   inherit (lib) optional;
-  version = "3.9.0";
+  version = "3.9.1";
 in
 
 stdenv.mkDerivation rec {
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     owner = "Reference-LAPACK";
     repo = "lapack";
     rev = "v${version}";
-    sha256 = "0sxnc97z67i7phdmcnq8f8lmxgw10wdwvr8ami0w3pb179cgrbpb";
+    sha256 = "sha256-B7eRaEY9vaLvuKkJ7d2KWanGE7OXh43O0UbXFheUWK8=";
   };
 
   nativeBuildInputs = [ gfortran cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/science/math/p4est-sc/default.nix b/nixpkgs/pkgs/development/libraries/science/math/p4est-sc/default.nix
new file mode 100644
index 000000000000..338101b80b56
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/science/math/p4est-sc/default.nix
@@ -0,0 +1,71 @@
+{ lib, stdenv, fetchFromGitHub
+, autoreconfHook, pkg-config
+, p4est-sc-debugEnable ? true, p4est-sc-mpiSupport ? true
+, mpi, openssh, zlib
+}:
+
+let
+  dbg = if debugEnable then "-dbg" else "";
+  debugEnable = p4est-sc-debugEnable;
+  mpiSupport = p4est-sc-mpiSupport;
+  isOpenmpi = mpiSupport && mpi.pname == "openmpi";
+in
+stdenv.mkDerivation {
+  pname = "p4est-sc${dbg}";
+  version = "unstable-2021-06-14";
+
+  # fetch an untagged snapshot of the prev3-develop branch
+  src = fetchFromGitHub {
+    owner = "cburstedde";
+    repo = "libsc";
+    rev = "1ae814e3fb1cc5456652e0d77550386842cb9bfb";
+    sha256 = "14vm0b162jh8399pgpsikbwq4z5lkrw9vfzy3drqykw09n6nc53z";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
+  propagatedBuildInputs = [ zlib ]
+    ++ lib.optional mpiSupport mpi
+    ++ lib.optional isOpenmpi openssh
+  ;
+  inherit debugEnable mpiSupport;
+
+  postPatch = ''
+    echo "dist_scaclocal_DATA += config/sc_v4l2.m4" >> Makefile.am
+  '';
+  preConfigure = ''
+    echo "2.8.0" > .tarball-version
+    ${if mpiSupport then "unset CC" else ""}
+  '';
+
+  configureFlags = [ "--enable-pthread=-pthread" ]
+    ++ lib.optional debugEnable "--enable-debug"
+    ++ lib.optional mpiSupport "--enable-mpi"
+  ;
+
+  dontDisableStatic = true;
+  enableParallelBuilding = true;
+  makeFlags = [ "V=0" ];
+
+  preCheck = ''
+    export OMPI_MCA_rmaps_base_oversubscribe=1
+    export HYDRA_IFACE=lo
+  '';
+
+  # disallow Darwin checks due to prototype incompatibility of qsort_r
+  # to be fixed in a future version of the source code
+  doCheck = !stdenv.isDarwin && stdenv.hostPlatform == stdenv.buildPlatform;
+
+  meta = {
+    branch = "prev3-develop";
+    description = "Support for parallel scientific applications";
+    longDescription = ''
+      The SC library provides support for parallel scientific applications.
+      Its main purpose is to support the p4est software library, hence
+      this package is called p4est-sc, but it works standalone, too.
+    '';
+    homepage = "https://www.p4est.org/";
+    downloadPage = "https://github.com/cburstedde/libsc.git";
+    license = lib.licenses.lgpl21Plus;
+    maintainers = [ lib.maintainers.cburstedde ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/science/math/p4est/default.nix b/nixpkgs/pkgs/development/libraries/science/math/p4est/default.nix
new file mode 100644
index 000000000000..68c71ab59be1
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/science/math/p4est/default.nix
@@ -0,0 +1,58 @@
+{ lib, stdenv, fetchFromGitHub
+, autoreconfHook, pkg-config
+, p4est-withMetis ? true, metis
+, p4est-sc
+}:
+
+let
+  inherit (p4est-sc) debugEnable mpiSupport;
+  dbg = if debugEnable then "-dbg" else "";
+  withMetis = p4est-withMetis;
+in
+stdenv.mkDerivation {
+  pname = "p4est${dbg}";
+  version = "unstable-2021-06-22";
+
+  # fetch an untagged snapshot of the prev3-develop branch
+  src = fetchFromGitHub {
+    owner = "cburstedde";
+    repo = "p4est";
+    rev = "7423ac5f2b2b64490a7a92e5ddcbd251053c4dee";
+    sha256 = "0vffnf48rzw6d0as4c3x1f31b4kapmdzr1hfj5rz5ngah72gqrph";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
+  propagatedBuildInputs = [ p4est-sc ];
+  buildInputs = lib.optional withMetis metis;
+  inherit debugEnable mpiSupport withMetis;
+
+  patches = [ ./p4est-metis.patch ];
+  postPatch = ''
+    sed -i -e "s:\(^\s*ACLOCAL_AMFLAGS.*\)\s@P4EST_SC_AMFLAGS@\s*$:\1 -I ${p4est-sc}/share/aclocal:" Makefile.am
+  '';
+  preConfigure = ''
+    echo "2.8.0" > .tarball-version
+    ${if mpiSupport then "unset CC" else ""}
+  '';
+
+  configureFlags = p4est-sc.configureFlags
+    ++ [ "--with-sc=${p4est-sc}" ]
+    ++ lib.optional withMetis "--with-metis"
+  ;
+
+  inherit (p4est-sc) makeFlags dontDisableStatic enableParallelBuilding preCheck doCheck;
+
+  meta = {
+    branch = "prev3-develop";
+    description = "Parallel AMR on Forests of Octrees";
+    longDescription = ''
+      The p4est software library provides algorithms for parallel AMR.
+      AMR refers to Adaptive Mesh Refinement, a technique in scientific
+      computing to cover the domain of a simulation with an adaptive mesh.
+    '';
+    homepage = "https://www.p4est.org/";
+    downloadPage = "https://github.com/cburstedde/p4est.git";
+    license = lib.licenses.gpl2Plus;
+    maintainers = [ lib.maintainers.cburstedde ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/science/math/p4est/p4est-metis.patch b/nixpkgs/pkgs/development/libraries/science/math/p4est/p4est-metis.patch
new file mode 100644
index 000000000000..46b8dc8af08c
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/science/math/p4est/p4est-metis.patch
@@ -0,0 +1,26 @@
+diff --git a/src/p4est_connectivity.c b/src/p4est_connectivity.c
+index 95339136..c93528f2 100644
+--- a/src/p4est_connectivity.c
++++ b/src/p4est_connectivity.c
+@@ -3715,6 +3715,7 @@ p4est_connectivity_reorder_newid (sc_MPI_Comm comm, int k,
+                                   sc_array_t * newid)
+ {
+   const int           n = (int) conn->num_trees;
++  int                 metis_n;
+   int                *xadj;
+   int                *adjncy;
+   int                *part;
+@@ -3862,10 +3863,12 @@ p4est_connectivity_reorder_newid (sc_MPI_Comm comm, int k,
+ 
+     P4EST_GLOBAL_INFO ("Entering metis\n");
+     /* now call metis */
++    metis_n = n;
+     P4EST_EXECUTE_ASSERT_INT
+-      (METIS_PartGraphRecursive (&n, &ncon, xadj, adjncy, NULL, NULL,
++      (METIS_PartGraphRecursive (&metis_n, &ncon, xadj, adjncy, NULL, NULL,
+                                  NULL, &k, NULL, NULL, NULL, &volume, part),
+        METIS_OK);
++    P4EST_ASSERT (metis_n == n);
+     P4EST_GLOBAL_INFO ("Done metis\n");
+ 
+     P4EST_GLOBAL_STATISTICSF ("metis volume %d\n", volume);
diff --git a/nixpkgs/pkgs/development/libraries/silgraphite/graphite2.nix b/nixpkgs/pkgs/development/libraries/silgraphite/graphite2.nix
index cd737a82a293..25f4b5e13177 100644
--- a/nixpkgs/pkgs/development/libraries/silgraphite/graphite2.nix
+++ b/nixpkgs/pkgs/development/libraries/silgraphite/graphite2.nix
@@ -1,4 +1,11 @@
-{ lib, stdenv, fetchurl, pkg-config, freetype, cmake }:
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, freetype
+, cmake
+, static ? stdenv.hostPlatform.isStatic
+}:
 
 stdenv.mkDerivation rec {
   version = "1.3.14";
@@ -15,7 +22,22 @@ stdenv.mkDerivation rec {
 
   patches = lib.optionals stdenv.isDarwin [ ./macosx.patch ];
 
-  doCheck = false; # fails, probably missing something
+  cmakeFlags = lib.optionals static [
+    "-DBUILD_SHARED_LIBS=OFF"
+  ];
+
+  # Remove a test that fails to statically link (undefined reference to png and
+  # freetype symbols)
+  postConfigure = lib.optionals static ''
+    sed -e '/freetype freetype.c/d' -i ../tests/examples/CMakeLists.txt
+  '';
+
+  preCheck = ''
+    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD/src/
+    export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH''${DYLD_LIBRARY_PATH:+:}$PWD/src/
+  '';
+
+  doCheck = true;
 
   meta = with lib; {
     description = "An advanced font engine";
diff --git a/nixpkgs/pkgs/development/libraries/smooth/default.nix b/nixpkgs/pkgs/development/libraries/smooth/default.nix
index f86862382112..8e55c8f4128a 100644
--- a/nixpkgs/pkgs/development/libraries/smooth/default.nix
+++ b/nixpkgs/pkgs/development/libraries/smooth/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "smooth";
-  version = "0.9.6";
+  version = "0.9.8";
 
   src = fetchFromGitHub {
     owner = "enzo1982";
     repo = "smooth";
     rev = "v${version}";
-    sha256 = "05j5gk6kz2089x8bcq2l0kjspfiiymxn69jcxl4dh9lw96blbadr";
+    sha256 = "sha256-4092Od/wCWe4br80Ry6mr8GpUIUeeF6sk3unELdfQJU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/virglrenderer/default.nix b/nixpkgs/pkgs/development/libraries/virglrenderer/default.nix
index 38688d90246e..4c4af6b2c1f8 100644
--- a/nixpkgs/pkgs/development/libraries/virglrenderer/default.nix
+++ b/nixpkgs/pkgs/development/libraries/virglrenderer/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "virglrenderer";
-  version = "0.8.2";
+  version = "0.9.1";
 
   src = fetchurl {
     url = "https://gitlab.freedesktop.org/virgl/virglrenderer/-/archive/virglrenderer-${version}/virglrenderer-virglrenderer-${version}.tar.bz2";
-    sha256 = "07vfzg99wq92yg2phza9jc0zvps34yy9gc8v4hibqchdl77fmspx";
+    sha256 = "1h76a1ylhh4niq33sa5knx033sr4k2816vibh4m58j54y7qc6346";
   };
 
   buildInputs = [ libGLU epoxy libX11 libdrm mesa ];
diff --git a/nixpkgs/pkgs/development/libraries/volk/default.nix b/nixpkgs/pkgs/development/libraries/volk/default.nix
index 574a90d22724..40ae88bf71bb 100644
--- a/nixpkgs/pkgs/development/libraries/volk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/volk/default.nix
@@ -1,9 +1,7 @@
 { stdenv
 , lib
 , fetchFromGitHub
-, fetchpatch
 , cmake
-, cppunit
 , python3
 , enableModTool ? true
 , removeReferencesTo
@@ -11,25 +9,18 @@
 
 stdenv.mkDerivation rec {
   pname = "volk";
-  version = "2.4.1";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = "gnuradio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "fuHJ+p5VN4ThdbQFbzB08VCuy/Zo7m/I1Gs5EQGPeNY=";
+    sha256 = "XvX6emv30bSB29EFm6aC+j8NGOxWqHCNv0Hxtdrq/jc=";
     fetchSubmodules = true;
   };
 
-  patches = [
-    # Fixes a failing test: https://github.com/gnuradio/volk/pull/434
-    (fetchpatch {
-      url = "https://github.com/gnuradio/volk/pull/434/commits/bce8531b6f1a3c5abe946ed6674b283d54258281.patch";
-      sha256 = "OLW9uF6iL47z63kjvYqwsWtkINav8Xhs+Htqg6Kr4uI=";
-    })
-  ];
   cmakeFlags = lib.optionals (!enableModTool) [ "-DENABLE_MODTOOL=OFF" ];
-  postInstall = ''
+  postInstall = lib.optionalString (!stdenv.isDarwin) ''
     ${removeReferencesTo}/bin/remove-references-to -t ${stdenv.cc} $(readlink -f $out/lib/libvolk.so)
   '';
 
diff --git a/nixpkgs/pkgs/development/libraries/wlroots/default.nix b/nixpkgs/pkgs/development/libraries/wlroots/default.nix
index 45c2fd228f2d..9dc717c34790 100644
--- a/nixpkgs/pkgs/development/libraries/wlroots/default.nix
+++ b/nixpkgs/pkgs/development/libraries/wlroots/default.nix
@@ -18,6 +18,8 @@ stdenv.mkDerivation rec {
   # $out for the library and $examples for the example programs (in examples):
   outputs = [ "out" "examples" ];
 
+  depsBuildBuild = [ pkg-config ];
+
   nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/mobile/checkra1n/default.nix b/nixpkgs/pkgs/development/mobile/checkra1n/default.nix
new file mode 100644
index 000000000000..110bb187f61c
--- /dev/null
+++ b/nixpkgs/pkgs/development/mobile/checkra1n/default.nix
@@ -0,0 +1,26 @@
+{ lib, stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  pname = "checkra1n";
+  version = "0.12.4";
+
+  src = fetchurl {
+    url = "https://assets.checkra.in/downloads/linux/cli/x86_64/dac9968939ea6e6bfbdedeb41d7e2579c4711dc2c5083f91dced66ca397dc51d/checkra1n";
+    sha256 = "07f5glwwlrpdvj8ky265q8fp3i3r4mz1vd6yvvxnnvpa764rdjfs";
+  };
+
+  dontUnpack = true;
+
+  installPhase = ''
+    install -dm755 "$out/bin"
+    install -m755 $src $out/bin/${pname}
+  '';
+
+  meta = with lib; {
+    description = "Jailbreak for iPhone 5s though iPhone X, iOS 12.0 and up";
+    homepage = "https://checkra.in/";
+    license = licenses.unfreeRedistributable;
+    maintainers = with maintainers; [ onny ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/node-packages/node-packages.json b/nixpkgs/pkgs/development/node-packages/node-packages.json
index ea8f2ef7a181..6b322a903f97 100644
--- a/nixpkgs/pkgs/development/node-packages/node-packages.json
+++ b/nixpkgs/pkgs/development/node-packages/node-packages.json
@@ -126,7 +126,7 @@
 , "indium"
 , "insect"
 , "ionic"
-, {"iosevka": "https://github.com/be5invis/Iosevka/archive/v7.0.4.tar.gz"}
+, {"iosevka": "https://github.com/be5invis/Iosevka/archive/v7.2.4.tar.gz"}
 , "jake"
 , "javascript-typescript-langserver"
 , "joplin"
@@ -182,6 +182,7 @@
 , "patch-package"
 , "peerflix"
 , "peerflix-server"
+, "pkg"
 , "pm2"
 , "pnpm"
 , "poor-mans-t-sql-formatter-cli"
diff --git a/nixpkgs/pkgs/development/node-packages/node-packages.nix b/nixpkgs/pkgs/development/node-packages/node-packages.nix
index 92a931bd4bba..ace401855650 100644
--- a/nixpkgs/pkgs/development/node-packages/node-packages.nix
+++ b/nixpkgs/pkgs/development/node-packages/node-packages.nix
@@ -49,13 +49,13 @@ let
         sha512 = "o/xdK8b4P0t/xpCARgWXAeaiWeh9jeua6bP1jrcbfN39+Z4zC4x2jg4NysHNhz6spRG8dJFH3kJIUoIbs0Ckww==";
       };
     };
-    "@angular-devkit/architect-0.1200.5" = {
+    "@angular-devkit/architect-0.1201.1" = {
       name = "_at_angular-devkit_slash_architect";
       packageName = "@angular-devkit/architect";
-      version = "0.1200.5";
+      version = "0.1201.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1200.5.tgz";
-        sha512 = "222VZ4OeaDK3vON8V5m+w15SRWfUs5uOb4H9ij/H9/6tyHD83uWfCDoOGg+ax4wJVdWEFJIS+Vn4ijGcZCq9WQ==";
+        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1201.1.tgz";
+        sha512 = "n7ycxrIPbtnV7q8PH5Uvs8Jd++u6hWUiB+8EUxznSfdHGA+fE7TTnJTkc27LoMlYZAImc/Axp/uyYZ6Awt72ZQ==";
       };
     };
     "@angular-devkit/core-11.2.4" = {
@@ -76,13 +76,13 @@ let
         sha512 = "3dA0Z6sIIxCDjZS/DucgmIKti7EZ/LgHoHgCO72Q50H5ZXbUSNBz5wGl5hVq2+gzrnFgU/0u40MIs6eptk30ZA==";
       };
     };
-    "@angular-devkit/core-12.0.5" = {
+    "@angular-devkit/core-12.1.1" = {
       name = "_at_angular-devkit_slash_core";
       packageName = "@angular-devkit/core";
-      version = "12.0.5";
+      version = "12.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-12.0.5.tgz";
-        sha512 = "zVSQV+8/vjUjsUKGlj8Kf5LioA6AXJTGI0yhHW9q1dFX4dPpbW63k0R1UoIB2wJ0F/AbYVgpnPGPe9BBm2fvZA==";
+        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-12.1.1.tgz";
+        sha512 = "z5+O3ugXbo8djKPjUtf/UfnYCmco2K1LVhQ6cWLhKi3NKRBiHeNmZh5nAycqFD8/Q+oI/+Ao40MkmkK1Tq0jsw==";
       };
     };
     "@angular-devkit/schematics-11.2.4" = {
@@ -103,13 +103,13 @@ let
         sha512 = "bhi2+5xtVAjtr3bsXKT8pnoBamQrArd/Y20ueA4Od7cd38YT97nzTA1wyHBFG0vWd0HMyg42ZS0aycNBuOebaA==";
       };
     };
-    "@angular-devkit/schematics-12.0.5" = {
+    "@angular-devkit/schematics-12.1.1" = {
       name = "_at_angular-devkit_slash_schematics";
       packageName = "@angular-devkit/schematics";
-      version = "12.0.5";
+      version = "12.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.0.5.tgz";
-        sha512 = "iW3XuDHScr3TXuunlEjF5O01zBpwpLgfr1oEny8PvseFGDlHK4Nj8zNIoIn3Yg936aiFO4GJAC/UXsT8g5vKxQ==";
+        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.1.1.tgz";
+        sha512 = "oRsvlhJQLXkGWdJvArOby+G4j8UX2uCHwrN4EC1hXUKs84UsD+UATYOAh4h2auy+I+sdrmELUaHwdI4wdKpqnw==";
       };
     };
     "@angular-devkit/schematics-cli-0.1102.6" = {
@@ -625,6 +625,15 @@ let
         sha512 = "qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==";
       };
     };
+    "@babel/parser-7.13.13" = {
+      name = "_at_babel_slash_parser";
+      packageName = "@babel/parser";
+      version = "7.13.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.13.13.tgz";
+        sha512 = "OhsyMrqygfk5v8HmWwOzlYjJrtLaFhF34MrfG/Z73DgYCI6ojNUTUp2TYbtnjo8PegeJp12eamsNettCQjKjVw==";
+      };
+    };
     "@babel/parser-7.14.7" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
@@ -1534,6 +1543,15 @@ let
         sha512 = "9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ==";
       };
     };
+    "@babel/types-7.13.12" = {
+      name = "_at_babel_slash_types";
+      packageName = "@babel/types";
+      version = "7.13.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz";
+        sha512 = "K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==";
+      };
+    };
     "@babel/types-7.14.5" = {
       name = "_at_babel_slash_types";
       packageName = "@babel/types";
@@ -1552,13 +1570,13 @@ let
         sha512 = "GcIY79elgB+azP74j8vqkiXz8xLFfIzbQJdlwOPisgbKT00tviJQuEghOXSMVxJ00HoYJbGswr4kcllUc4xCcg==";
       };
     };
-    "@bugsnag/browser-7.10.1" = {
+    "@bugsnag/browser-7.10.4" = {
       name = "_at_bugsnag_slash_browser";
       packageName = "@bugsnag/browser";
-      version = "7.10.1";
+      version = "7.10.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@bugsnag/browser/-/browser-7.10.1.tgz";
-        sha512 = "Yxm/DheT/NHX2PhadBDuafuHBhP547Iav6Y9jf+skBBSi1n0ZYkGhtVxh8ZWLgqz5W8MsJ0HFiLBqcg/mulSvQ==";
+        url = "https://registry.npmjs.org/@bugsnag/browser/-/browser-7.10.4.tgz";
+        sha512 = "1lPhUBIHUCxCyOfMHCfM+rt2cpV49LEeodFBPx8D8+7LJNmxX0JwfQ0OB+7Lv8JNRcnAI3j6Uq6OOTVakhaxBw==";
       };
     };
     "@bugsnag/core-7.10.0" = {
@@ -1579,13 +1597,13 @@ let
         sha512 = "LOt8aaBI+KvOQGneBtpuCz3YqzyEAehd1f3nC5yr9TIYW1+IzYKa2xWS4EiMz5pPOnRPHkyyS5t/wmSmN51Gjg==";
       };
     };
-    "@bugsnag/js-7.10.1" = {
+    "@bugsnag/js-7.10.4" = {
       name = "_at_bugsnag_slash_js";
       packageName = "@bugsnag/js";
-      version = "7.10.1";
+      version = "7.10.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@bugsnag/js/-/js-7.10.1.tgz";
-        sha512 = "1/MK/Bw2ViFx1hMG2TOX8MOq/LzT2VRd0VswknF4LYsZSgzohkRzz/hi6P2TSlLeapRs+bkDC6u2RCq4zYvyiA==";
+        url = "https://registry.npmjs.org/@bugsnag/js/-/js-7.10.4.tgz";
+        sha512 = "XnH3JlG9w1elhmMsByIsQ6JODYdoDlJ75QwvkPjkdybikEm8Zw+OK16JKyxY2scD4RSNbzYMWnbNZvCiFgcDPA==";
       };
     };
     "@bugsnag/node-7.10.1" = {
@@ -2047,22 +2065,22 @@ let
         sha512 = "Ydf4LidRB/EBI+YrB+cVLqIseiRfjUI/AeHBgjGMtq3GroraDu81OV7zqophRgupngoL3iS3JUMDMnxO7g39qA==";
       };
     };
-    "@expo/config-4.0.4" = {
+    "@expo/config-5.0.2" = {
       name = "_at_expo_slash_config";
       packageName = "@expo/config";
-      version = "4.0.4";
+      version = "5.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/config/-/config-4.0.4.tgz";
-        sha512 = "O3xRlwMCidOgk1WHIy6eOjh2yp0h/kgBDRNKqPe21+YDiOufyTGGNvbWgHwoax8goa1iMg443WQO7GhvaH286g==";
+        url = "https://registry.npmjs.org/@expo/config/-/config-5.0.2.tgz";
+        sha512 = "NJd2iQDIWNn6vVv4NEeUMrRPFtV27loaR9w1I0d+lhbfrfIqY7JxI7OgDS8udwjBi0iWnO+BUb0l4C5SmfHuhA==";
       };
     };
-    "@expo/config-plugins-2.0.4" = {
+    "@expo/config-plugins-3.0.2" = {
       name = "_at_expo_slash_config-plugins";
       packageName = "@expo/config-plugins";
-      version = "2.0.4";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-2.0.4.tgz";
-        sha512 = "JGt/X2tFr7H8KBQrKfbGo9hmCubQraMxq5sj3bqDdKmDOLcE1a/EDCP9g0U4GHsa425J8VDIkQUHYz3h3ndEXQ==";
+        url = "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-3.0.2.tgz";
+        sha512 = "bS7t9JbPBK1lCcMo2mp7QSDq2a4xsc8E6sEYVwD+YS5RKx7nxEtSYohnFWlKthm624dHCaVzqEbKxhIGO3M3Uw==";
       };
     };
     "@expo/config-types-41.0.0" = {
@@ -2074,31 +2092,22 @@ let
         sha512 = "Ax0pHuY5OQaSrzplOkT9DdpdmNzaVDnq9VySb4Ujq7UJ4U4jriLy8u93W98zunOXpcu0iiKubPsqD6lCiq0pig==";
       };
     };
-    "@expo/configure-splash-screen-0.4.0" = {
-      name = "_at_expo_slash_configure-splash-screen";
-      packageName = "@expo/configure-splash-screen";
-      version = "0.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/configure-splash-screen/-/configure-splash-screen-0.4.0.tgz";
-        sha512 = "IDPnr2/DW1tYpDHqedFYNCDzRTf9HYinWFQ7fOelNZLuOCMoErLbSStA5zfkv46o69AgcCpteqgKHSoxsIBz5g==";
-      };
-    };
-    "@expo/dev-server-0.1.74" = {
+    "@expo/dev-server-0.1.77" = {
       name = "_at_expo_slash_dev-server";
       packageName = "@expo/dev-server";
-      version = "0.1.74";
+      version = "0.1.77";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/dev-server/-/dev-server-0.1.74.tgz";
-        sha512 = "b0yHZH0HB28plFf2/d53ZP91QNANy5Sz9fDYfWfMznHTg1tx6xkjBNu6WiVtlDqBq4UBdbXqSu5AIZWAziss2Q==";
+        url = "https://registry.npmjs.org/@expo/dev-server/-/dev-server-0.1.77.tgz";
+        sha512 = "gOnJ3YAVVMsi+lZY39O9KRCVRCPs61dhONJ0OLuOdtt8N5/VG+CTKNiyls1k5jAxsAzeOPzZsPqRNMTKvnxsOg==";
       };
     };
-    "@expo/dev-tools-0.13.104" = {
+    "@expo/dev-tools-0.13.107" = {
       name = "_at_expo_slash_dev-tools";
       packageName = "@expo/dev-tools";
-      version = "0.13.104";
+      version = "0.13.107";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/dev-tools/-/dev-tools-0.13.104.tgz";
-        sha512 = "q0ozFDgMzfjJIpVyp3awA3L2jQ+t+suhfrJvKk58uYiCiVAicQYaqoxMj7jVgRdd45WJwPcUSA6lAbFx1PMkmQ==";
+        url = "https://registry.npmjs.org/@expo/dev-tools/-/dev-tools-0.13.107.tgz";
+        sha512 = "F60wit5+MiXzFPZ1R2rQuM0wC4vdesKtUrV8ipQyGdEkjogZ2mdq7OJbxofnzslkyAGImWfyKRJhqMflRBD/9w==";
       };
     };
     "@expo/devcert-1.0.0" = {
@@ -2128,13 +2137,13 @@ let
         sha512 = "vrgGyPEXBoFI5NY70IegusCSoSVIFV3T3ry4tjJg1MFQKTUlR7E0r+8g8XR6qC705rc2PawaZQjqXMAVtV6s2A==";
       };
     };
-    "@expo/metro-config-0.1.74" = {
+    "@expo/metro-config-0.1.77" = {
       name = "_at_expo_slash_metro-config";
       packageName = "@expo/metro-config";
-      version = "0.1.74";
+      version = "0.1.77";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.1.74.tgz";
-        sha512 = "1FzFJCXhdEMzDivZ+AKxrNBsgSRNPwQqz++KwN1ooeL9oPgxXWOQtStMB0Y2N2FSaHtLe/94D4EmzNWFGyz15A==";
+        url = "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.1.77.tgz";
+        sha512 = "PGxcxkN1AJjzn82Fb3zBxbG0kI6V6BrYVhICPL3jenreKQYaHN0+/owkAwX+8MxKqaJqJR6outw8I+Gypp4ZcQ==";
       };
     };
     "@expo/osascript-2.0.28" = {
@@ -2164,13 +2173,13 @@ let
         sha512 = "zGPSq9OrCn7lWvwLLHLpHUUq2E40KptUFXn53xyZXPViI0k9lbApcR9KlonQZ95C+ELsf0BQ3gRficwK92Ivcw==";
       };
     };
-    "@expo/prebuild-config-1.0.5" = {
+    "@expo/prebuild-config-2.0.2" = {
       name = "_at_expo_slash_prebuild-config";
       packageName = "@expo/prebuild-config";
-      version = "1.0.5";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-1.0.5.tgz";
-        sha512 = "tBVB3n70t/jWqOZOxo85WsIp9gJ/hZT8aii72S7BLarXa0oPmAy+TmPD19IR4U6+TcrR0B2Qwr/6mVNnZhuBtg==";
+        url = "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-2.0.2.tgz";
+        sha512 = "wyAPiu1tnUghDoE5cUbjD92rF/rtyNqrfdwmcn56q8EG7MKuO47CxFrkhAL0EBVplPhSdzZ3zPFOtWzYK7E+6Q==";
       };
     };
     "@expo/results-1.0.0" = {
@@ -2209,22 +2218,22 @@ let
         sha512 = "LB7jWkqrHo+5fJHNrLAFdimuSXQ2MQ4lA7SQW5bf/HbsXuV2VrT/jN/M8f/KoWt0uJMGN4k/j7Opx4AvOOxSew==";
       };
     };
-    "@expo/webpack-config-0.12.78" = {
+    "@expo/webpack-config-0.12.81" = {
       name = "_at_expo_slash_webpack-config";
       packageName = "@expo/webpack-config";
-      version = "0.12.78";
+      version = "0.12.81";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/webpack-config/-/webpack-config-0.12.78.tgz";
-        sha512 = "oYR9fTuO2qWkZOHhA20NPpG0P+C4EBSsWT3RavHSREFPWSNqQB6BYnTIAFmK29QaVcY370qvqfBo+p7vCaRQ4w==";
+        url = "https://registry.npmjs.org/@expo/webpack-config/-/webpack-config-0.12.81.tgz";
+        sha512 = "hsWI3EwYcwsG2E1VKlkaQwiLofgH6g7qNRpnoncnvbVEsfHhvA5+aI8/CMiUO+sHh6RPJWgux12O89TXS/DeBg==";
       };
     };
-    "@expo/xcpretty-3.1.3" = {
+    "@expo/xcpretty-3.1.4" = {
       name = "_at_expo_slash_xcpretty";
       packageName = "@expo/xcpretty";
-      version = "3.1.3";
+      version = "3.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/xcpretty/-/xcpretty-3.1.3.tgz";
-        sha512 = "Kgp2eXR8LB/m7UxOwL1fi6JzRv6DGT+rXfrtyUR3J9L0O66KDKem3A9NWACnihn/1RiL8Xb5ryb0vBUFYYeieg==";
+        url = "https://registry.npmjs.org/@expo/xcpretty/-/xcpretty-3.1.4.tgz";
+        sha512 = "zjZo89YkDW/C2wh10wAkAHYrdXwLdiMbKrGmADLJvz25yp7QpXgDR8KOaa1FUU/vYqmHZ6lshjrMMJpJWEqTRw==";
       };
     };
     "@fast-csv/format-4.3.5" = {
@@ -2254,6 +2263,15 @@ let
         sha512 = "o8iU1VIY+QsqVRWARKiky29fh4KR1xaKSgMClXIi65qkt8EDDhjmlzL0KVDEoDA2GWukwb/1PpaVCWDg4v3cUQ==";
       };
     };
+    "@fluentui/date-time-utilities-8.2.0" = {
+      name = "_at_fluentui_slash_date-time-utilities";
+      packageName = "@fluentui/date-time-utilities";
+      version = "8.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-8.2.0.tgz";
+        sha512 = "OunpRZ8hyDPLNWwrx8w17eUwGdNYjG4kGR9+jzvQQJjswk94KMxc6SY33mlTLVEbagjdHMHw9jR7STS+JCQNcA==";
+      };
+    };
     "@fluentui/dom-utilities-1.1.2" = {
       name = "_at_fluentui_slash_dom-utilities";
       packageName = "@fluentui/dom-utilities";
@@ -2263,6 +2281,33 @@ let
         sha512 = "XqPS7l3YoMwxdNlaYF6S2Mp0K3FmVIOIy2K3YkMc+eRxu9wFK6emr2Q/3rBhtG5u/On37NExRT7/5CTLnoi9gw==";
       };
     };
+    "@fluentui/dom-utilities-2.1.2" = {
+      name = "_at_fluentui_slash_dom-utilities";
+      packageName = "@fluentui/dom-utilities";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-2.1.2.tgz";
+        sha512 = "9LxI3iLbBkyoudRyk0nPTjMdMB2+ClDfM8V3A0SM82e5cDss5qlo0fog/2T2aoaon+hwfeinpiY4e3znx+Nn0w==";
+      };
+    };
+    "@fluentui/font-icons-mdl2-8.1.4" = {
+      name = "_at_fluentui_slash_font-icons-mdl2";
+      packageName = "@fluentui/font-icons-mdl2";
+      version = "8.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fluentui/font-icons-mdl2/-/font-icons-mdl2-8.1.4.tgz";
+        sha512 = "v0NRk+W2qJQtBsH9hqYNG5Xnic8C1kfB0I+OTGasFYPvxdd0APcWw2vajrlE49ijgVjXS0AByCgF6mu8LiYlHg==";
+      };
+    };
+    "@fluentui/foundation-legacy-8.1.4" = {
+      name = "_at_fluentui_slash_foundation-legacy";
+      packageName = "@fluentui/foundation-legacy";
+      version = "8.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fluentui/foundation-legacy/-/foundation-legacy-8.1.4.tgz";
+        sha512 = "Kd+XpHsv3UEnDTwEnUm93Au+QGpYZ5x/VuQsv8K1sDM+gjb3BDohuwR6MWgzgCMJiVW0NMlbS4I2OpUZa6k5eg==";
+      };
+    };
     "@fluentui/keyboard-key-0.2.17" = {
       name = "_at_fluentui_slash_keyboard-key";
       packageName = "@fluentui/keyboard-key";
@@ -2272,6 +2317,24 @@ let
         sha512 = "iT1bU56rKrKEOfODoW6fScY11qj3iaYrZ+z11T6fo5+TDm84UGkkXjLXJTE57ZJzg0/gbccHQWYv+chY7bJN8Q==";
       };
     };
+    "@fluentui/keyboard-key-0.3.2" = {
+      name = "_at_fluentui_slash_keyboard-key";
+      packageName = "@fluentui/keyboard-key";
+      version = "0.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.3.2.tgz";
+        sha512 = "Hjes+WUgVRqikyvmBEuyovw89inYZ1qVmdp4kKi/6BGvQlAcHgGIVfmdnlFumP4lmFpBW8uUh2K1ZmfY0xwQ6Q==";
+      };
+    };
+    "@fluentui/merge-styles-8.1.2" = {
+      name = "_at_fluentui_slash_merge-styles";
+      packageName = "@fluentui/merge-styles";
+      version = "8.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.1.2.tgz";
+        sha512 = "r0EGKfJUjZw9yJ21VMXjaqLoujvBkRIWRQVMM6CUxbY+02dhKUt6Sa9QA/8m8klsEWBENOaKZ4uX5U2vWWBlyw==";
+      };
+    };
     "@fluentui/react-7.172.1" = {
       name = "_at_fluentui_slash_react";
       packageName = "@fluentui/react";
@@ -2281,6 +2344,15 @@ let
         sha512 = "XJhYEo0fn/30i4m+qJkT1y5kNTZ8DAwzWhdGSyTiOrxiJ7pKWOoXAdWnvhtk3iY0SPVWSD9jTn5lMT/2WkZbJw==";
       };
     };
+    "@fluentui/react-8.22.0" = {
+      name = "_at_fluentui_slash_react";
+      packageName = "@fluentui/react";
+      version = "8.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fluentui/react/-/react-8.22.0.tgz";
+        sha512 = "mn/zUd7vJNFLqpXZhc3ePNpDcNx4mhYdQ5vCC6kqcFIYjMg2ve5WqBP9tpFlbD3LEBa8NyOvIWfdG0NZdKejLg==";
+      };
+    };
     "@fluentui/react-focus-7.17.6" = {
       name = "_at_fluentui_slash_react-focus";
       packageName = "@fluentui/react-focus";
@@ -2290,6 +2362,24 @@ let
         sha512 = "JkLWNDe567lhvbnIhbYv9nUWYDIVN06utc3krs0UZBI+A0YZtQmftBtY0ghXo4PSjgozZocdu9sYkkgZOgyRLg==";
       };
     };
+    "@fluentui/react-focus-8.1.5" = {
+      name = "_at_fluentui_slash_react-focus";
+      packageName = "@fluentui/react-focus";
+      version = "8.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-8.1.5.tgz";
+        sha512 = "zvHwta+lRmw2kYRif0Zz6+skmfxUzagd15iMlUPRIVAcsj+rxOkoE7g8NlhXym7HsgMiKRAYJM0CdfMauCnkvQ==";
+      };
+    };
+    "@fluentui/react-hooks-8.2.3" = {
+      name = "_at_fluentui_slash_react-hooks";
+      packageName = "@fluentui/react-hooks";
+      version = "8.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fluentui/react-hooks/-/react-hooks-8.2.3.tgz";
+        sha512 = "JqQNLIc0WOwwMZ3rAnBkcy0oHZD83Bi1hs7qpvwGUW1OrL3QoJqEnmiKPowxWb8NUeKEP51cBfGi+/7aqbDZAg==";
+      };
+    };
     "@fluentui/react-window-provider-1.0.2" = {
       name = "_at_fluentui_slash_react-window-provider";
       packageName = "@fluentui/react-window-provider";
@@ -2299,6 +2389,33 @@ let
         sha512 = "fGSgL3Vp/+6t1Ysfz21FWZmqsU+iFVxOigvHnm5uKVyyRPwtaabv/F6kQ2y5isLMI2YmJaUd2i0cDJKu8ggrvw==";
       };
     };
+    "@fluentui/react-window-provider-2.1.2" = {
+      name = "_at_fluentui_slash_react-window-provider";
+      packageName = "@fluentui/react-window-provider";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-2.1.2.tgz";
+        sha512 = "VWtesIAZR5fdlZMwYco/M5EBb3jawUkslQYOKsneNq+mq8ThkUs1Bol5bpK6jwmouROscu76HD1QfjdACAfkLQ==";
+      };
+    };
+    "@fluentui/set-version-8.1.2" = {
+      name = "_at_fluentui_slash_set-version";
+      packageName = "@fluentui/set-version";
+      version = "8.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fluentui/set-version/-/set-version-8.1.2.tgz";
+        sha512 = "uCPwdBsahBbLuN8UkbmXtp+u8Gxqtm5+fZ1UuOUBhEL7MKl86LrWmxoy4IW3JD2rcbaYpCb7KFpnMB5s0Nx0ZA==";
+      };
+    };
+    "@fluentui/style-utilities-8.1.4" = {
+      name = "_at_fluentui_slash_style-utilities";
+      packageName = "@fluentui/style-utilities";
+      version = "8.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fluentui/style-utilities/-/style-utilities-8.1.4.tgz";
+        sha512 = "tR/ntfobJvuCtLyi7jpEbsq67iTaBNq/lpq+tYuvIqI8Gl90L9a8g8344ADP4+9/i3TKsrAZgnV9vze66ybHOw==";
+      };
+    };
     "@fluentui/theme-1.7.4" = {
       name = "_at_fluentui_slash_theme";
       packageName = "@fluentui/theme";
@@ -2308,6 +2425,24 @@ let
         sha512 = "o4eo7lstLxxXl1g2RR9yz18Yt8yjQO/LbQuZjsiAfv/4Bf0CRnb+3j1F7gxIdBWAchKj9gzaMpIFijfI98pvYQ==";
       };
     };
+    "@fluentui/theme-2.1.3" = {
+      name = "_at_fluentui_slash_theme";
+      packageName = "@fluentui/theme";
+      version = "2.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fluentui/theme/-/theme-2.1.3.tgz";
+        sha512 = "o/So4091GtwtEkxujd6QT9M8kuLOde0Z7by/zLNQBU00wX3PeBxM4mpSLmnz2vt5CN5IT7OWhRRsiyve/7hLAg==";
+      };
+    };
+    "@fluentui/utilities-8.2.0" = {
+      name = "_at_fluentui_slash_utilities";
+      packageName = "@fluentui/utilities";
+      version = "8.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.2.0.tgz";
+        sha512 = "kq8xyFHkWUbzzbkGLuDACEhH+K5oqM/wEU9+zRuM/qI2bIS1B6Cr0ruq7FHxVrtAnMhvXKzM8DPn0W8uf775qQ==";
+      };
+    };
     "@google-cloud/paginator-3.0.5" = {
       name = "_at_google-cloud_slash_paginator";
       packageName = "@google-cloud/paginator";
@@ -2344,13 +2479,13 @@ let
         sha512 = "d4VSA86eL/AFTe5xtyZX+ePUjE8dIFu2T8zmdeNBSa5/kNgXPCx/o/wbFNHAGLJdGnk1vddRuMESD9HbOC8irw==";
       };
     };
-    "@google-cloud/pubsub-2.14.0" = {
+    "@google-cloud/pubsub-2.15.1" = {
       name = "_at_google-cloud_slash_pubsub";
       packageName = "@google-cloud/pubsub";
-      version = "2.14.0";
+      version = "2.15.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@google-cloud/pubsub/-/pubsub-2.14.0.tgz";
-        sha512 = "pP8pwQ9d+p5KNmccEuwM4W9MM8Z9NP+Zzu3P9ewo/z+obK8mEvh5suC2at60MUWaDQOneTcUICpL6DXLRx957A==";
+        url = "https://registry.npmjs.org/@google-cloud/pubsub/-/pubsub-2.15.1.tgz";
+        sha512 = "avBYmN1n9BsY8RzntkEP3SG1gSfEm0iOoUwoWjtrmWAk+6QZw0C093HJCGClteo+EwIQDhgyn2cXc5QInegSeg==";
       };
     };
     "@graphql-cli/common-4.1.0" = {
@@ -2497,13 +2632,13 @@ let
         sha512 = "UXepkOKCATJrhHGsxt+CGfpZy9zUn1q9mop5kfcXq1fBkTePxVNPOdnISlCbJFlCtld+pSLGyZCzr9/zVprFKA==";
       };
     };
-    "@grpc/grpc-js-1.3.3" = {
+    "@grpc/grpc-js-1.3.4" = {
       name = "_at_grpc_slash_grpc-js";
       packageName = "@grpc/grpc-js";
-      version = "1.3.3";
+      version = "1.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.3.3.tgz";
-        sha512 = "KkKZrX3fVTBYCtUk8I+Y4xWaauEEOIR1mIGoPFUK8C+a9TTub5dmjowJpFGz0dqYj//wJcgVR9fqpoNhSYFfHQ==";
+        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.3.4.tgz";
+        sha512 = "AxtZcm0mArQhY9z8T3TynCYVEaSKxNCa9mVhVwBCUnsuUEe8Zn94bPYYKVQSLt+hJJ1y0ukr3mUvtWfcATL/IQ==";
       };
     };
     "@grpc/proto-loader-0.5.6" = {
@@ -2524,6 +2659,24 @@ let
         sha512 = "q2Qle60Ht2OQBCp9S5hv1JbI4uBBq6/mqSevFNK3ZEgRDBCAkWqZPUhD/K9gXOHrHKluliHiVq2L9sw1mVyAIg==";
       };
     };
+    "@grpc/proto-loader-0.6.3" = {
+      name = "_at_grpc_slash_proto-loader";
+      packageName = "@grpc/proto-loader";
+      version = "0.6.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.3.tgz";
+        sha512 = "AtMWwb7kY8DdtwIQh2hC4YFM1MzZ22lMA+gjbnCYDgICt14vX2tCa59bDrEjFyOI4LvORjpvT/UhHUdKvsX8og==";
+      };
+    };
+    "@grpc/proto-loader-0.6.4" = {
+      name = "_at_grpc_slash_proto-loader";
+      packageName = "@grpc/proto-loader";
+      version = "0.6.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.4.tgz";
+        sha512 = "7xvDvW/vJEcmLUltCUGOgWRPM8Oofv0eCFSVMuKqaqWJaXSzmB+m9hiyqe34QofAl4WAzIKUZZlinIF9FOHyTQ==";
+      };
+    };
     "@gulp-sourcemaps/identity-map-1.0.2" = {
       name = "_at_gulp-sourcemaps_slash_identity-map";
       packageName = "@gulp-sourcemaps/identity-map";
@@ -2641,13 +2794,13 @@ let
         sha512 = "tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==";
       };
     };
-    "@hapi/topo-5.0.0" = {
+    "@hapi/topo-5.1.0" = {
       name = "_at_hapi_slash_topo";
       packageName = "@hapi/topo";
-      version = "5.0.0";
+      version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@hapi/topo/-/topo-5.0.0.tgz";
-        sha512 = "tFJlT47db0kMqVm3H4nQYgn6Pwg10GTZHb1pwmSiv1K4ks6drQOtfEF5ZnPjkvC+y4/bUPHK+bc87QvLcL+WMw==";
+        url = "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz";
+        sha512 = "foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==";
       };
     };
     "@heroku-cli/color-1.1.14" = {
@@ -3091,31 +3244,31 @@ let
         sha512 = "EjPkDQOzV/oZfbolEUgFT6SE++PtCccVBvjuACkttyCfl0P2jnpR49SwstyVLc2u8AwBAZEHHAw9lPYaMjtbXQ==";
       };
     };
-    "@joplin/fork-htmlparser2-4.1.27" = {
+    "@joplin/fork-htmlparser2-4.1.28" = {
       name = "_at_joplin_slash_fork-htmlparser2";
       packageName = "@joplin/fork-htmlparser2";
-      version = "4.1.27";
+      version = "4.1.28";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/fork-htmlparser2/-/fork-htmlparser2-4.1.27.tgz";
-        sha512 = "4rR2spWO9eLWGoGXS0ulxzarl/tNq3bIcqTKLu3Qh6C5putae7A01gJssg1BtO+0hLADuzfQK7FWb4W6Z6fymA==";
+        url = "https://registry.npmjs.org/@joplin/fork-htmlparser2/-/fork-htmlparser2-4.1.28.tgz";
+        sha512 = "aY8o+hi42Rn0BCcjI33nXC/tHwm1mYoAMrqnEfNVQ1ZDGJbbKVnYWADf6o5tGMR+Klkn9lbbR9tn+U8hKHbFhA==";
       };
     };
-    "@joplin/fork-sax-1.2.31" = {
+    "@joplin/fork-sax-1.2.32" = {
       name = "_at_joplin_slash_fork-sax";
       packageName = "@joplin/fork-sax";
-      version = "1.2.31";
+      version = "1.2.32";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/fork-sax/-/fork-sax-1.2.31.tgz";
-        sha512 = "EIRijEi10yuCSoSkGjvOes0yljEGBWjLf38NnIbadfByWUNPkdlSL+yEq9b8bc2WupAxmJiNA4tfi1i8Th2xDQ==";
+        url = "https://registry.npmjs.org/@joplin/fork-sax/-/fork-sax-1.2.32.tgz";
+        sha512 = "N6Nk2qdsmCM31zIYjyIEH2hTSFd9rZv6tcvN9bjsuxTQ97WW74d6fI8+ReBWz2cFs7joXxaPay0iNwwDDXV0Kg==";
       };
     };
-    "@joplin/lib-2.0.3" = {
+    "@joplin/lib-2.1.1" = {
       name = "_at_joplin_slash_lib";
       packageName = "@joplin/lib";
-      version = "2.0.3";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/lib/-/lib-2.0.3.tgz";
-        sha512 = "0LYqc8JY75TMFwapYcj0aJrCSVjBsXH15520fZehy1iheh5yQO6YV3MMqLHwpa4/CofCT4SlOs3pd6LIbSyh1w==";
+        url = "https://registry.npmjs.org/@joplin/lib/-/lib-2.1.1.tgz";
+        sha512 = "mePMxOEC7+T7gTRuIO3ZWxkyDhAhuoNNGi3wsf4g633TcYD0SEX9peokCdjAnQC5l4BjrqxmgY1qTmk2sx+9TA==";
       };
     };
     "@joplin/renderer-1.8.2" = {
@@ -3127,31 +3280,31 @@ let
         sha512 = "Khl2DoM1aFEy15RX9JaMaYinjoNEYQHOgQqzMHq4wuWr+QuAQaX8/SofTe1FU2rS4SJrkObPA+XPavhVSAxpOQ==";
       };
     };
-    "@joplin/renderer-2.0.3" = {
+    "@joplin/renderer-2.1.1" = {
       name = "_at_joplin_slash_renderer";
       packageName = "@joplin/renderer";
-      version = "2.0.3";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/renderer/-/renderer-2.0.3.tgz";
-        sha512 = "FKXFR212wjStu2wRJ7pe5KyCm4uwiXrrSd9g8Vp38FuQu8Db6J5MNiqno/EcwvibshCxn0cE/odEM7ld/Aukng==";
+        url = "https://registry.npmjs.org/@joplin/renderer/-/renderer-2.1.1.tgz";
+        sha512 = "XxmquKGZxlrjUorx924ogAACc39p22pzWp06DJX/eElU2kLZ/s+RC0EXAFj503EuDj/dd2voV+Tciz0wfCPc0Q==";
       };
     };
-    "@joplin/turndown-4.0.49" = {
+    "@joplin/turndown-4.0.50" = {
       name = "_at_joplin_slash_turndown";
       packageName = "@joplin/turndown";
-      version = "4.0.49";
+      version = "4.0.50";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/turndown/-/turndown-4.0.49.tgz";
-        sha512 = "TIGJLjSDwy2j00+XGxTi7GaoqPOmDqmfhVsTCZK7C7JDfYzFQWzMixmEKSJkw3rWnFHA5q4omGeIWZP6DAkoGA==";
+        url = "https://registry.npmjs.org/@joplin/turndown/-/turndown-4.0.50.tgz";
+        sha512 = "oqMCmkudn3OUxkI68mbBy5AWqnmgWBlIL9lz3XSoq3iYJZdXYCDyYUA0Wb64eRHf6muUN8V23WdeVjc02dsbEQ==";
       };
     };
-    "@joplin/turndown-plugin-gfm-1.0.31" = {
+    "@joplin/turndown-plugin-gfm-1.0.32" = {
       name = "_at_joplin_slash_turndown-plugin-gfm";
       packageName = "@joplin/turndown-plugin-gfm";
-      version = "1.0.31";
+      version = "1.0.32";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/turndown-plugin-gfm/-/turndown-plugin-gfm-1.0.31.tgz";
-        sha512 = "6PqxgmOIJ8CUR/aFno88JM2a0QTlFtz50ofTz8/hhD4jDD8qQ8DROy6yexCeZle4Gj45yLt8/WhmOlu32FkO/w==";
+        url = "https://registry.npmjs.org/@joplin/turndown-plugin-gfm/-/turndown-plugin-gfm-1.0.32.tgz";
+        sha512 = "5jodAeZz90xt4p5FSvnRi4V1NyiPS0L9O7WufG8lN55sacZ9pkXUvELex4PQ7kiHvmOv67x4XcvTjfqX/mnKnA==";
       };
     };
     "@josephg/resolvable-1.0.1" = {
@@ -3802,13 +3955,13 @@ let
         sha512 = "W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA==";
       };
     };
-    "@microsoft/load-themed-styles-1.10.185" = {
+    "@microsoft/load-themed-styles-1.10.190" = {
       name = "_at_microsoft_slash_load-themed-styles";
       packageName = "@microsoft/load-themed-styles";
-      version = "1.10.185";
+      version = "1.10.190";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.185.tgz";
-        sha512 = "IyjxBy64JnmlOPjI0F/J+JoeQu/gDCoqLQ4zEmWgd2EDCg2Sd03CrkwqR40q1B5QzC2bUbP3KwnFhoaTS4pBsA==";
+        url = "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.190.tgz";
+        sha512 = "4Lhme3yHQgcIt05+BwgeJ0ClnY5wkmMXAFw4mGL8tO5jSkscd6lRKEtmQoGSTAy5S21FJzEUhnDJUqaK9M8P9Q==";
       };
     };
     "@mitmaro/errors-1.0.0" = {
@@ -3883,13 +4036,13 @@ let
         sha512 = "b+MGNyP9/LXkapreJzNUzcvuzZslj/RGgdVVJ16P2wSlYatfLycPObImqVJSmNAdyeShvNeM/pl3sVZsObFueg==";
       };
     };
-    "@netlify/build-12.7.2" = {
+    "@netlify/build-12.26.0" = {
       name = "_at_netlify_slash_build";
       packageName = "@netlify/build";
-      version = "12.7.2";
+      version = "12.26.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/build/-/build-12.7.2.tgz";
-        sha512 = "AQCtlVBQFEpcQzglzAiXqfaXAss/+ufBhfuc6BuWM24ze+dD+ywyUb9IHfe6ceHdHZIKhfST6AYWT7my39NGmg==";
+        url = "https://registry.npmjs.org/@netlify/build/-/build-12.26.0.tgz";
+        sha512 = "wRBOxaZXJ0OCzg2YVp+SsKIE6fmLzwk68X7I8X6/jEL7np4Rq1H0BornxSGu9ewbCJseCl3zGKgd6aiBR4E8Pg==";
       };
     };
     "@netlify/cache-utils-1.0.7" = {
@@ -3901,22 +4054,13 @@ let
         sha512 = "yrdrnQkzg/qMovoFYwQ24UVt/OyHtP+t0KpQFd7eBl6gnuuGGgxFocaFFv6eKpMVwzHTsOwx/y9B/FcC3/6cfA==";
       };
     };
-    "@netlify/config-7.7.1" = {
+    "@netlify/config-9.5.0" = {
       name = "_at_netlify_slash_config";
       packageName = "@netlify/config";
-      version = "7.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/config/-/config-7.7.1.tgz";
-        sha512 = "ReVy0Dqcvubldo9ZzmI6jCwUqFwDdq9v4enQu/uM6B2UVueKSgombKO8r0BlyNtLlKbbCOlaG7Gpbu0KsBvsPw==";
-      };
-    };
-    "@netlify/config-8.0.0" = {
-      name = "_at_netlify_slash_config";
-      packageName = "@netlify/config";
-      version = "8.0.0";
+      version = "9.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/config/-/config-8.0.0.tgz";
-        sha512 = "zEgClyq8RZ79FPJHEK3xIPnXOPbji0N5ucPpk17lFyccPeKTsEG2cfEJ94vP2T809AUHa90cRvZVg8j7UtpR4A==";
+        url = "https://registry.npmjs.org/@netlify/config/-/config-9.5.0.tgz";
+        sha512 = "Kt5xukNclUtraXVX1xnrseMwvIA1WnFjR6i4GuwgvM2MreS6zb5LIV5XGJ/vDCEpH9uxI609gj2iu9FNy543rA==";
       };
     };
     "@netlify/esbuild-0.13.6" = {
@@ -3928,22 +4072,22 @@ let
         sha512 = "tiKmDcHM2riSVN79c0mJY/67EBDafXQAMitHuLiCDAMdtz3kfv+NqdVG5krgf5lWR8Uf8AeZrUW5Q9RP25REvw==";
       };
     };
-    "@netlify/framework-info-5.3.0" = {
+    "@netlify/framework-info-5.5.0" = {
       name = "_at_netlify_slash_framework-info";
       packageName = "@netlify/framework-info";
-      version = "5.3.0";
+      version = "5.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/framework-info/-/framework-info-5.3.0.tgz";
-        sha512 = "9pgfafCGv2pt2l82JfPxst3QasuA40DFF0QdLm/3NNdSje8Ro3/i4rUATMCisaGJcScrAYljRlMFOhT4vFVlDg==";
+        url = "https://registry.npmjs.org/@netlify/framework-info/-/framework-info-5.5.0.tgz";
+        sha512 = "kAGcUnFlJgP2lQXez1c0RKJNF1reoefLVXMzTTTCoKqt1OcfzQnWzgCT6rJbsS7wia02JoLAb7TrdMdpWDAGTg==";
       };
     };
-    "@netlify/functions-utils-1.3.46" = {
+    "@netlify/functions-utils-1.4.1" = {
       name = "_at_netlify_slash_functions-utils";
       packageName = "@netlify/functions-utils";
-      version = "1.3.46";
+      version = "1.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-1.3.46.tgz";
-        sha512 = "BXJxaj4fQ//zYUdRO9Mib35hOinRVBIjAWgD2YiW4fJv98Adcr33LMbPxxTnc/zP3Oh6c56YAUIBh5FA3VIe5g==";
+        url = "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-1.4.1.tgz";
+        sha512 = "11WhjgX74b+AgROL/w0iDrZg1cjhX7+hyCUrzOagJbkC2v83qZaVff+4RFTA7damuO9zc9BHw2+LHe0wLVvEbg==";
       };
     };
     "@netlify/git-utils-1.0.11" = {
@@ -3973,22 +4117,22 @@ let
         sha512 = "SAsVNIxF0asduPXbsr3wbyAB7lPZQxhG90EeOu0/Fo+BLhpO4g+6eH13I60qJpWCI/ucXXqSrUw8y6Oy5wpY0g==";
       };
     };
-    "@netlify/plugins-list-2.18.0" = {
+    "@netlify/plugins-list-2.18.1" = {
       name = "_at_netlify_slash_plugins-list";
       packageName = "@netlify/plugins-list";
-      version = "2.18.0";
+      version = "2.18.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/plugins-list/-/plugins-list-2.18.0.tgz";
-        sha512 = "lbI7P0CaSH23r2sF4z3DX02PqQ8ENUtRullQXEQXUareZfrXlOV6F8sl/LAWcgjE/kuh51eIAu/hWstsZFEQIQ==";
+        url = "https://registry.npmjs.org/@netlify/plugins-list/-/plugins-list-2.18.1.tgz";
+        sha512 = "UFXVAlmuwmA0s7xDpL1pF3ksyB+5UDNVQDqkwobb+HlxjKNU0hy0c+aL8G8EoBjtX9iGP7Xr+QawtytAWlIyXw==";
       };
     };
-    "@netlify/routing-local-proxy-0.30.1" = {
+    "@netlify/routing-local-proxy-0.30.2" = {
       name = "_at_netlify_slash_routing-local-proxy";
       packageName = "@netlify/routing-local-proxy";
-      version = "0.30.1";
+      version = "0.30.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/routing-local-proxy/-/routing-local-proxy-0.30.1.tgz";
-        sha512 = "9IfNBXDJA2JLvHA5GRDTpOgPpU3dovL8ezB1+igxvtinnl4Nnl9G4D9N6leqf1ecC6aZrx9St4OATqVwY2LryQ==";
+        url = "https://registry.npmjs.org/@netlify/routing-local-proxy/-/routing-local-proxy-0.30.2.tgz";
+        sha512 = "rQnv383/vFF1x3iKnY/2Q2i7Z7RhugfoVfAIbEJ2bIaWFMQ2YcGMVpwj1w8rK+4MGH5uwvlNNlfE0gGYQOq+4Q==";
       };
     };
     "@netlify/run-utils-1.0.7" = {
@@ -4000,22 +4144,13 @@ let
         sha512 = "YFi1Sf+ktQICS3tAKu7/uiGzLXgi8RNVwH9naUkziXwXQNH2oxDhKgy0/Zv5Nw0zMDJyKWrJ3xObWEC57mJ/KA==";
       };
     };
-    "@netlify/zip-it-and-ship-it-4.4.2" = {
+    "@netlify/zip-it-and-ship-it-4.8.0" = {
       name = "_at_netlify_slash_zip-it-and-ship-it";
       packageName = "@netlify/zip-it-and-ship-it";
-      version = "4.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-4.4.2.tgz";
-        sha512 = "627ZNqfc4mdhU5mYDpcKUbmx8RoAUu8ZQiW/RIt5s7uDhruba3bK776Ygzog5b14hYWthT41/bf+9wQ+O9NFWw==";
-      };
-    };
-    "@netlify/zip-it-and-ship-it-4.5.1" = {
-      name = "_at_netlify_slash_zip-it-and-ship-it";
-      packageName = "@netlify/zip-it-and-ship-it";
-      version = "4.5.1";
+      version = "4.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-4.5.1.tgz";
-        sha512 = "zU2ztAEwLxIL7oy1nl0NXZC9Mbzb2QVkdjztZcpY76Ne5q0hBYpBv85SJFgrz75QMSC5C/eeQxs8iUYpmdZH4Q==";
+        url = "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-4.8.0.tgz";
+        sha512 = "Dq0hBeX2LW62eny22d+isU4SvEilT/4eusjP1EFA0XYaDCgQ9rFJ50+NySXfxxu20qbfZmt34XKiby+tO7EcRA==";
       };
     };
     "@node-red/editor-api-1.3.5" = {
@@ -4108,13 +4243,13 @@ let
         sha512 = "BTIhocbPBSrRmHxOAJFtR18oLhxTtAFDAvL8hY1S3iU8k+E60W/YFs4jrixGzQjMpF4qPXxIQHcjVD9dz1C2QA==";
       };
     };
-    "@npmcli/arborist-2.6.3" = {
+    "@npmcli/arborist-2.6.4" = {
       name = "_at_npmcli_slash_arborist";
       packageName = "@npmcli/arborist";
-      version = "2.6.3";
+      version = "2.6.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/arborist/-/arborist-2.6.3.tgz";
-        sha512 = "R8U2dZ8+jeE7go+qNU4Mt6aiXyBu3mM75iRIugNCA4P0OWlsLOpuDPPhsaRcOVbtXheOGZXrqe36qP1g+M68KQ==";
+        url = "https://registry.npmjs.org/@npmcli/arborist/-/arborist-2.6.4.tgz";
+        sha512 = "A/pDQ/VZpdxaqsQS5XOWrhrPuC+ER7HLq+4ZkEmnO2yo/USFCWEsiUPYKhfY+sWXK3pgKjN7B7CEFmAnSoAt3g==";
       };
     };
     "@npmcli/ci-detect-1.3.0" = {
@@ -4189,6 +4324,15 @@ let
         sha512 = "yrJUe6reVMpktcvagumoqD9r08fH1iRo01gn1u0zoCApa9lnZGEigVKUd2hzsCId4gdtkZZIVscLhNxMECKgRg==";
       };
     };
+    "@npmcli/package-json-1.0.1" = {
+      name = "_at_npmcli_slash_package-json";
+      packageName = "@npmcli/package-json";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@npmcli/package-json/-/package-json-1.0.1.tgz";
+        sha512 = "y6jnu76E9C23osz8gEMBayZmaZ69vFOIk8vR1FJL/wbEJ54+9aVG9rLTjQKSXfgYZEr50nw1txBBFfBZZe+bYg==";
+      };
+    };
     "@npmcli/promise-spawn-1.3.2" = {
       name = "_at_npmcli_slash_promise-spawn";
       packageName = "@npmcli/promise-spawn";
@@ -4297,13 +4441,13 @@ let
         sha512 = "G440PCuMi/OT8b71aWkR+kCWikngGtyRjOR24sPMDbpUFV4+B3r51fz1fcqeUiiEOYqUpr0Uy/sneUe1O/NfBg==";
       };
     };
-    "@oclif/plugin-plugins-1.10.0" = {
+    "@oclif/plugin-plugins-1.10.1" = {
       name = "_at_oclif_slash_plugin-plugins";
       packageName = "@oclif/plugin-plugins";
-      version = "1.10.0";
+      version = "1.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/plugin-plugins/-/plugin-plugins-1.10.0.tgz";
-        sha512 = "lfHNiuuCrCUtH9A912T/ztxRA9lS1lCZm+gcmVWksIJG/gwKH/fMn+GdLTbRzU2k6ojtMhBblYk1RWKxUEJuzA==";
+        url = "https://registry.npmjs.org/@oclif/plugin-plugins/-/plugin-plugins-1.10.1.tgz";
+        sha512 = "JDUA3NtOa4OlH8ofUBXQMTFlpEkSmeE9BxoQTD6+BeUvMgqFuZThENucRvCD00sywhCmDngmIYN59gKcXpGJeQ==";
       };
     };
     "@oclif/screen-1.0.4" = {
@@ -4360,13 +4504,13 @@ let
         sha512 = "SWTdXsVheRmlotWNjKzPOb6Js6tjSqA2a8z9+glDJng0Aqjzti8MEWOtuT8ZSu6wHnci7LZNuarE87+WJBG4vg==";
       };
     };
-    "@octokit/openapi-types-7.3.2" = {
+    "@octokit/openapi-types-8.1.4" = {
       name = "_at_octokit_slash_openapi-types";
       packageName = "@octokit/openapi-types";
-      version = "7.3.2";
+      version = "8.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-7.3.2.tgz";
-        sha512 = "oJhK/yhl9Gt430OrZOzAl2wJqR0No9445vmZ9Ey8GjUZUpwuu/vmEFP0TDhDXdpGDoxD6/EIFHJEcY8nHXpDTA==";
+        url = "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-8.1.4.tgz";
+        sha512 = "NnGr4NNDqO5wjSDJo5nxrGtzZUwoT23YasqK2H4Pav/6vSgeVTxuqCL9Aeh+cWfTxDomj1M4Os5BrXFsvl7qiQ==";
       };
     };
     "@octokit/plugin-enterprise-rest-6.0.1" = {
@@ -4378,13 +4522,13 @@ let
         sha512 = "93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==";
       };
     };
-    "@octokit/plugin-paginate-rest-2.13.5" = {
+    "@octokit/plugin-paginate-rest-2.13.6" = {
       name = "_at_octokit_slash_plugin-paginate-rest";
       packageName = "@octokit/plugin-paginate-rest";
-      version = "2.13.5";
+      version = "2.13.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.13.5.tgz";
-        sha512 = "3WSAKBLa1RaR/7GG+LQR/tAZ9fp9H9waE9aPXallidyci9oZsfgsLn5M836d3LuDC6Fcym+2idRTBpssHZePVg==";
+        url = "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.13.6.tgz";
+        sha512 = "ai7TNKLi8tGkDvLM7fm0X1fbIP9u1nfXnN49ZAw2PgSoQou9yixKn5c3m0awuLacbuX2aXEvJpv1gKm3jboabg==";
       };
     };
     "@octokit/plugin-request-log-1.0.4" = {
@@ -4396,13 +4540,13 @@ let
         sha512 = "mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==";
       };
     };
-    "@octokit/plugin-rest-endpoint-methods-5.3.1" = {
+    "@octokit/plugin-rest-endpoint-methods-5.3.7" = {
       name = "_at_octokit_slash_plugin-rest-endpoint-methods";
       packageName = "@octokit/plugin-rest-endpoint-methods";
-      version = "5.3.1";
+      version = "5.3.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.3.1.tgz";
-        sha512 = "3B2iguGmkh6bQQaVOtCsS0gixrz8Lg0v4JuXPqBcFqLKuJtxAUf3K88RxMEf/naDOI73spD+goJ/o7Ie7Cvdjg==";
+        url = "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.3.7.tgz";
+        sha512 = "LAgTLOsJ86ig2wYSpcSx+UWt7aQYYsEZ/Tf/pksAVQWKNcGuTVCDl9OUiPhQ7DZelNozYVWTO9Iyjd/soe4tug==";
       };
     };
     "@octokit/request-5.6.0" = {
@@ -4423,22 +4567,22 @@ let
         sha512 = "1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==";
       };
     };
-    "@octokit/rest-18.6.0" = {
+    "@octokit/rest-18.6.6" = {
       name = "_at_octokit_slash_rest";
       packageName = "@octokit/rest";
-      version = "18.6.0";
+      version = "18.6.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/rest/-/rest-18.6.0.tgz";
-        sha512 = "MdHuXHDJM7e5sUBe3K9tt7th0cs4csKU5Bb52LRi2oHAeIMrMZ4XqaTrEv660HoUPoM1iDlnj27Ab/Nh3MtwlA==";
+        url = "https://registry.npmjs.org/@octokit/rest/-/rest-18.6.6.tgz";
+        sha512 = "kCLvz8MSh+KToXySdqUp80caBom1ZQmsX3gbT3osfbJy6fD86QObUjzAOD3D3Awz3X7ng24+lB+imvSr5EnM7g==";
       };
     };
-    "@octokit/types-6.16.4" = {
+    "@octokit/types-6.17.4" = {
       name = "_at_octokit_slash_types";
       packageName = "@octokit/types";
-      version = "6.16.4";
+      version = "6.17.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/types/-/types-6.16.4.tgz";
-        sha512 = "UxhWCdSzloULfUyamfOg4dJxV9B+XjgrIZscI0VCbp4eNrjmorGEw+4qdwcpTsu6DIrm9tQsFQS2pK5QkqQ04A==";
+        url = "https://registry.npmjs.org/@octokit/types/-/types-6.17.4.tgz";
+        sha512 = "Ghk/JC4zC/1al1GwH6p8jVX6pLdypSWmbnx6h79C/yo3DeaDd6MsNsBFlHu22KbkFh+CdcAzFqdP7UdPaPPmmA==";
       };
     };
     "@open-policy-agent/opa-wasm-1.2.0" = {
@@ -4477,22 +4621,22 @@ let
         sha512 = "PffXX2AL8Sh0VHQ52jJC4u3T0H6wDK6N/4bg7xh4ngMYOIi13aR1kzVvX1sVDBgfGwDOkMbl4c54Xm3tlPx/+A==";
       };
     };
-    "@opentelemetry/api-0.20.0" = {
+    "@opentelemetry/api-1.0.1" = {
       name = "_at_opentelemetry_slash_api";
       packageName = "@opentelemetry/api";
-      version = "0.20.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@opentelemetry/api/-/api-0.20.0.tgz";
-        sha512 = "n06MtDYEc2H07S/NTvGMlxF2Ijp0YbNrI/rBgLcxpEh3hxOkPZA12gxlUoZkBHWCZYau2j3b/uL+QFpiQKOjSw==";
+        url = "https://registry.npmjs.org/@opentelemetry/api/-/api-1.0.1.tgz";
+        sha512 = "H5Djcc2txGAINgf3TNaq4yFofYSIK3722PM89S/3R8FuI/eqi1UscajlXk7EBkG9s2pxss/q6SHlpturaavXaw==";
       };
     };
-    "@opentelemetry/semantic-conventions-0.20.0" = {
+    "@opentelemetry/semantic-conventions-0.22.0" = {
       name = "_at_opentelemetry_slash_semantic-conventions";
       packageName = "@opentelemetry/semantic-conventions";
-      version = "0.20.0";
+      version = "0.22.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-0.20.0.tgz";
-        sha512 = "x40C3vQMttFlnNEfhFwO49jHrY6AoWnntL35TCem3LINr/aw1W0hGhdKY/zweC64CBJEyiHumaae480rqF8eOA==";
+        url = "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-0.22.0.tgz";
+        sha512 = "t4fKikazahwNKmwD+CE/icHyuZldWvNMupJhjxdk9T/KxHFx3zCGjHT3MKavwYP6abzgAAm5WwzD1oHlmj7dyg==";
       };
     };
     "@ot-builder/bin-composite-types-1.0.9" = {
@@ -5035,22 +5179,22 @@ let
         sha512 = "s4f489h5+EJksn4CfheLgv5PGOM0CDmK1UEBLw2t/ncWs3cW2VI7vXzndcd/WJHTv3GntJhXDcJMuL+Z2IAOgg==";
       };
     };
-    "@redocly/ajv-6.12.4" = {
+    "@redocly/ajv-8.6.2" = {
       name = "_at_redocly_slash_ajv";
       packageName = "@redocly/ajv";
-      version = "6.12.4";
+      version = "8.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@redocly/ajv/-/ajv-6.12.4.tgz";
-        sha512 = "RB6vWO78v6c+SW/3bZh+XZMr4nGdJKAiPGsBALuUZnLuCiQ7aXCT1AuFHqnfS2gyXbEUEj+kw8p4ux8KdAfs3A==";
+        url = "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.6.2.tgz";
+        sha512 = "tU8fQs0D76ZKhJ2cWtnfQthWqiZgGBx0gH0+5D8JvaBEBaqA8foPPBt3Nonwr3ygyv5xrw2IzKWgIY86BlGs+w==";
       };
     };
-    "@redocly/openapi-core-1.0.0-beta.50" = {
+    "@redocly/openapi-core-1.0.0-beta.53" = {
       name = "_at_redocly_slash_openapi-core";
       packageName = "@redocly/openapi-core";
-      version = "1.0.0-beta.50";
+      version = "1.0.0-beta.53";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.0.0-beta.50.tgz";
-        sha512 = "GuXn4IETxpbRd8dlAQDQPtvqOpbMvPMeC/e5mv5MOXkLIznNk4vjiQVe6QSCbZbCHzzpb2+89B6S7asebPm4Rg==";
+        url = "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.0.0-beta.53.tgz";
+        sha512 = "n5WixBRb7oWS31v3/cdOW/eNXbr2M4N8+HjHfCA/oQX6Z4ZYqPOJCekw64sQ/fnUQMIQyT6fKqyaf+iO4tG7YA==";
       };
     };
     "@redocly/react-dropdown-aria-2.0.12" = {
@@ -5152,13 +5296,13 @@ let
         sha512 = "c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==";
       };
     };
-    "@schematics/angular-12.0.5" = {
+    "@schematics/angular-12.1.1" = {
       name = "_at_schematics_slash_angular";
       packageName = "@schematics/angular";
-      version = "12.0.5";
+      version = "12.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@schematics/angular/-/angular-12.0.5.tgz";
-        sha512 = "gMT66T33az+uGLDSc7UkJVg+vloPeTpQNgWddBVGnW/Lkl1tGaWUxyqUJAp8AvusPNU+NCP+ZFB3qUm+pc7tCg==";
+        url = "https://registry.npmjs.org/@schematics/angular/-/angular-12.1.1.tgz";
+        sha512 = "ukSKoAWfXt28TiHlRrEzKFW63V3jroRF3xnBKtsaL3AZ4MVJiHzOWXkzDAZBaEOLUH/l6Xhm64NMgOqMEAg1rQ==";
       };
     };
     "@schematics/schematics-0.1102.6" = {
@@ -5197,13 +5341,13 @@ let
         sha512 = "lOUyRopNTKJYVEU9T6stp2irwlTDsYMmUKBOUjnMcwGveuUfIJqrCOtFLtIPPj3XJlbZy5F68l4KP9rZ8Ipang==";
       };
     };
-    "@serverless/components-3.12.0" = {
+    "@serverless/components-3.13.2" = {
       name = "_at_serverless_slash_components";
       packageName = "@serverless/components";
-      version = "3.12.0";
+      version = "3.13.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/components/-/components-3.12.0.tgz";
-        sha512 = "USK6QCREd/SjsDDhumrsORkyQYew9WvXGjSbh5GvoGNKbqZlMiNWnua/DXmpz1uf2qaXzJO0LZEtpsiDBPX59w==";
+        url = "https://registry.npmjs.org/@serverless/components/-/components-3.13.2.tgz";
+        sha512 = "fIYqo9cONxQeNpyWFTTLi6+r2S1KivOU5sys6nVQSR24jRVqxSpPN2eMz6BCUB8rw7N4kf+wbQDLwlyFbIroyQ==";
       };
     };
     "@serverless/core-1.1.2" = {
@@ -5215,13 +5359,13 @@ let
         sha512 = "PY7gH+7aQ+MltcUD7SRDuQODJ9Sav9HhFJsgOiyf8IVo7XVD6FxZIsSnpMI6paSkptOB7n+0Jz03gNlEkKetQQ==";
       };
     };
-    "@serverless/dashboard-plugin-5.4.2" = {
+    "@serverless/dashboard-plugin-5.4.3" = {
       name = "_at_serverless_slash_dashboard-plugin";
       packageName = "@serverless/dashboard-plugin";
-      version = "5.4.2";
+      version = "5.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/dashboard-plugin/-/dashboard-plugin-5.4.2.tgz";
-        sha512 = "yFugs3TBPjZh6Gt/8lPca8H7n2/ICin17r/zmhiOhIscYMgIJT1EOY9EyCFWIQi9AMAmZD0a3ZR8U8gSYYTT9A==";
+        url = "https://registry.npmjs.org/@serverless/dashboard-plugin/-/dashboard-plugin-5.4.3.tgz";
+        sha512 = "lgQh7NG5B0T+jr5/CWLZUvW2EqQ5Phzf+XTybM/I+Obwc5jxtpOmPgItDs52kBgyNLDJAqzUN+YRpfE/HBGsoQ==";
       };
     };
     "@serverless/event-mocks-1.1.1" = {
@@ -5242,13 +5386,13 @@ let
         sha512 = "dyELLbrf/9+O+sjuIL7ymlH8zwCOsG+tf2TjeEjXooVSvNqUoZ4ZadENjxInUV841l0ddwkihwzH/54Yw+/qkg==";
       };
     };
-    "@serverless/platform-client-china-2.1.14" = {
+    "@serverless/platform-client-china-2.1.17" = {
       name = "_at_serverless_slash_platform-client-china";
       packageName = "@serverless/platform-client-china";
-      version = "2.1.14";
+      version = "2.1.17";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/platform-client-china/-/platform-client-china-2.1.14.tgz";
-        sha512 = "ciXVcYcdLlSB9ph94sX/8jmDuY85Yq0fJvwKGzndKPngjVkXs6Gw2tqj91act9nqW541Ycqb/HFh1BhgcDWP7Q==";
+        url = "https://registry.npmjs.org/@serverless/platform-client-china/-/platform-client-china-2.1.17.tgz";
+        sha512 = "knJeb559PBJ72f/+RMH1iMavSiCJiXnTIWH88vdhlON+Tx7RPOTT5p48Modgbs8xONugmqbHjw9Z+fcyXZ2ajg==";
       };
     };
     "@serverless/template-1.1.4" = {
@@ -5287,13 +5431,13 @@ let
         sha512 = "cUt1ZYXZ/6Khe/foCucqraRpaTtejc4mICWVjQynwaPaK86/3g4Afu4pV1kEumnbet7N0PLbi+SKr8SHTf6tNQ==";
       };
     };
-    "@serverless/utils-china-1.1.2" = {
+    "@serverless/utils-china-1.1.4" = {
       name = "_at_serverless_slash_utils-china";
       packageName = "@serverless/utils-china";
-      version = "1.1.2";
+      version = "1.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/utils-china/-/utils-china-1.1.2.tgz";
-        sha512 = "svZV9zZx2vSqR6EPstgaaLu1YHFfQ5PB2rvZAb66XuXwcPGMwAQN1c836H9L35Y/cUXLhFxv0UCpRHShJLYQSw==";
+        url = "https://registry.npmjs.org/@serverless/utils-china/-/utils-china-1.1.4.tgz";
+        sha512 = "8s73M1k+mST7Z/Rp8wgmZh50tjpwX+fqsbYYRuFGgyuWTvgqAlUflDOWAeQuDx4pEndWEqjbG09ZrZNqlHuZqQ==";
       };
     };
     "@sideway/address-4.1.2" = {
@@ -5449,13 +5593,13 @@ let
         sha512 = "T3xfDqrEFKclHGdJx4/5+D5F7e76/99f33guE4RTlVITBhy7VVnjz4t/NDr3UYqcC0MgAmiC4bSVYHnlshuwJw==";
       };
     };
-    "@snyk/cloud-config-parser-1.9.2" = {
+    "@snyk/cloud-config-parser-1.9.3" = {
       name = "_at_snyk_slash_cloud-config-parser";
       packageName = "@snyk/cloud-config-parser";
-      version = "1.9.2";
+      version = "1.9.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/cloud-config-parser/-/cloud-config-parser-1.9.2.tgz";
-        sha512 = "m8Y2+3l4fxj96QMrTfiCEaXgCpDkCkJIX/5wv0V0RHuxpUiyh+KxC2yJ8Su4wybBj6v6hB9hB7h5/L+Gy4V4PA==";
+        url = "https://registry.npmjs.org/@snyk/cloud-config-parser/-/cloud-config-parser-1.9.3.tgz";
+        sha512 = "qv9NsIESPtyC2vKkqA7wEFePNuklksnQWJTWX8Cy3CQoCpZk80XwH50OVpDIU2szgnkWUm1XNSahG/IwVMSbOw==";
       };
     };
     "@snyk/cocoapods-lockfile-parser-3.6.2" = {
@@ -5485,13 +5629,13 @@ let
         sha512 = "wNANv235j95NFsQuODIXCiQZ9kcyg9fz92Kg1zoGvaP3kN/ma7fgCnvQL/dyml6iouQJR5aZovjhrrfEFoKtiQ==";
       };
     };
-    "@snyk/dep-graph-1.28.0" = {
+    "@snyk/dep-graph-1.28.1" = {
       name = "_at_snyk_slash_dep-graph";
       packageName = "@snyk/dep-graph";
-      version = "1.28.0";
+      version = "1.28.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/dep-graph/-/dep-graph-1.28.0.tgz";
-        sha512 = "Oup9nAvb558jdNvbZah/vaBtOtCcizkdeS+OBQeBIqIffyer4mc4juSn4b1SFjCpu7AG7piio8Lj8k1B9ps6Tg==";
+        url = "https://registry.npmjs.org/@snyk/dep-graph/-/dep-graph-1.28.1.tgz";
+        sha512 = "ti5fPYivhBGCJ7rZGznMX2UJE1M5lR811WvVyBWTRJwLYVFYkhxRXKfgZUXEB0tq8vpo3V7tm3syrBd5TLPIMA==";
       };
     };
     "@snyk/docker-registry-v2-client-2.2.2" = {
@@ -5512,13 +5656,13 @@ let
         sha512 = "E/Pfdze/WFfxwyuTFcfhQN1SwyUsc43yuCoW63RVBCaxTD6OzhVD2Pvc/Sy7BjiWUfmelzyKkIBpoow8zZX7Zg==";
       };
     };
-    "@snyk/fix-1.642.0" = {
+    "@snyk/fix-1.650.0" = {
       name = "_at_snyk_slash_fix";
       packageName = "@snyk/fix";
-      version = "1.642.0";
+      version = "1.650.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/fix/-/fix-1.642.0.tgz";
-        sha512 = "wA1hjH/eH0y/4/psauKFkK8pO29NSv1uEfheckvkoBB8BVrj3zDDBJhrxx2RRH2395XZxk977GLU9oTgUwSzlw==";
+        url = "https://registry.npmjs.org/@snyk/fix/-/fix-1.650.0.tgz";
+        sha512 = "qzwb0+DMrjxTsBXAcC74gb2X17925SapCBNo6DybLbOZXNJ6IFvtdN5ucd2FguEojfVyB4HVqkpbawc0bbfGtA==";
       };
     };
     "@snyk/fix-pipenv-pipfile-0.5.4" = {
@@ -6070,13 +6214,13 @@ let
         sha512 = "NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==";
       };
     };
-    "@types/babel__traverse-7.11.1" = {
+    "@types/babel__traverse-7.14.0" = {
       name = "_at_types_slash_babel__traverse";
       packageName = "@types/babel__traverse";
-      version = "7.11.1";
+      version = "7.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.1.tgz";
-        sha512 = "Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw==";
+        url = "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.0.tgz";
+        sha512 = "IilJZ1hJBUZwMOVDNTdflOOLzJB/ZtljYVa7k3gEZN/jqIJIPkWHC6dvbX+DD2CwZDHB9wAKzZPzzqMIkW37/w==";
       };
     };
     "@types/babylon-6.16.5" = {
@@ -6214,13 +6358,13 @@ let
         sha512 = "C7srjHiVG3Ey1nR6d511dtDkCEjxuN9W1HWAEjGq8kpcwmNM6JJkpC0xvabM7BXTG2wDq8Eu33iH9aQKa7IvLQ==";
       };
     };
-    "@types/debug-4.1.5" = {
+    "@types/debug-4.1.6" = {
       name = "_at_types_slash_debug";
       packageName = "@types/debug";
-      version = "4.1.5";
+      version = "4.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/debug/-/debug-4.1.5.tgz";
-        sha512 = "Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==";
+        url = "https://registry.npmjs.org/@types/debug/-/debug-4.1.6.tgz";
+        sha512 = "7fDOJFA/x8B+sO1901BmHlf5dE1cxBU8mRXj8QOEDnn16hhGJv/IHxJtZhvsabZsIMn0eLIyeOKAeqSNJJYTpA==";
       };
     };
     "@types/decompress-4.2.3" = {
@@ -6322,22 +6466,22 @@ let
         sha512 = "laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==";
       };
     };
-    "@types/estree-0.0.47" = {
+    "@types/estree-0.0.48" = {
       name = "_at_types_slash_estree";
       packageName = "@types/estree";
-      version = "0.0.47";
+      version = "0.0.48";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/estree/-/estree-0.0.47.tgz";
-        sha512 = "c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg==";
+        url = "https://registry.npmjs.org/@types/estree/-/estree-0.0.48.tgz";
+        sha512 = "LfZwXoGUDo0C3me81HXgkBg5CTQYb6xzEl+fNmbO4JdRiSKQ8A0GD1OBBvKAIsbCUgoyAty7m99GqqMQe784ew==";
       };
     };
-    "@types/estree-0.0.48" = {
+    "@types/estree-0.0.49" = {
       name = "_at_types_slash_estree";
       packageName = "@types/estree";
-      version = "0.0.48";
+      version = "0.0.49";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/estree/-/estree-0.0.48.tgz";
-        sha512 = "LfZwXoGUDo0C3me81HXgkBg5CTQYb6xzEl+fNmbO4JdRiSKQ8A0GD1OBBvKAIsbCUgoyAty7m99GqqMQe784ew==";
+        url = "https://registry.npmjs.org/@types/estree/-/estree-0.0.49.tgz";
+        sha512 = "K1AFuMe8a+pXmfHTtnwBvqoEylNKVeaiKYkjmcEAdytMQVJ/i9Fu7sc13GxgXdO49gkE7Hy8SyJonUZUn+eVaw==";
       };
     };
     "@types/expect-1.20.4" = {
@@ -6376,13 +6520,13 @@ let
         sha512 = "wLhcKh3PMlyA2cNAB9sjM1BntnhPMiM0JOBwPBqttjHev2428MLEB4AYVN+d8s2iyCVZac+o41Pflm/ZH5vLXQ==";
       };
     };
-    "@types/express-serve-static-core-4.17.21" = {
+    "@types/express-serve-static-core-4.17.22" = {
       name = "_at_types_slash_express-serve-static-core";
       packageName = "@types/express-serve-static-core";
-      version = "4.17.21";
+      version = "4.17.22";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.21.tgz";
-        sha512 = "gwCiEZqW6f7EoR8TTEfalyEhb1zA5jQJnRngr97+3pzMaO1RKoI1w2bw07TK72renMUVWcWS5mLI6rk1NqN0nA==";
+        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.22.tgz";
+        sha512 = "WdqmrUsRS4ootGha6tVwk/IVHM1iorU8tGehftQD2NWiPniw/sm7xdJOIlXLwqdInL9wBw/p7oO8vaYEF3NDmA==";
       };
     };
     "@types/fancy-log-1.3.0" = {
@@ -6889,6 +7033,24 @@ let
         sha512 = "zrNj1+yqYF4WskCMOHwN+w9iuD12+dGm0rQ35HLl9/Ouuq52cEtd0CH9qMgrdNmi5ejC1/V7vKEXYubB+65DkA==";
       };
     };
+    "@types/node-15.12.5" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "15.12.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-15.12.5.tgz";
+        sha512 = "se3yX7UHv5Bscf8f1ERKvQOD6sTyycH3hdaoozvaLxgUiY5lIGEeH37AD0G0Qi9kPqihPn0HOfd2yaIEN9VwEg==";
+      };
+    };
+    "@types/node-15.14.0" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "15.14.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-15.14.0.tgz";
+        sha512 = "um/+/ip3QZmwLfIkWZSNtQIJNVAqrJ92OkLMeuZrjZMTAJniI7fh8N8OICyDhAJ2mzgk/fmYFo72jRr5HyZ1EQ==";
+      };
+    };
     "@types/node-15.6.1" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
@@ -7393,13 +7555,13 @@ let
         sha512 = "S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==";
       };
     };
-    "@typescript-eslint/eslint-plugin-4.28.0" = {
+    "@typescript-eslint/eslint-plugin-4.28.1" = {
       name = "_at_typescript-eslint_slash_eslint-plugin";
       packageName = "@typescript-eslint/eslint-plugin";
-      version = "4.28.0";
+      version = "4.28.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.0.tgz";
-        sha512 = "KcF6p3zWhf1f8xO84tuBailV5cN92vhS+VT7UJsPzGBm9VnQqfI9AsiMUFUCYHTYPg1uCCo+HyiDnpDuvkAMfQ==";
+        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.1.tgz";
+        sha512 = "9yfcNpDaNGQ6/LQOX/KhUFTR1sCKH+PBr234k6hI9XJ0VP5UqGxap0AnNwBnWFk1MNyWBylJH9ZkzBXC+5akZQ==";
       };
     };
     "@typescript-eslint/experimental-utils-3.10.1" = {
@@ -7411,13 +7573,13 @@ let
         sha512 = "DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw==";
       };
     };
-    "@typescript-eslint/experimental-utils-4.28.0" = {
+    "@typescript-eslint/experimental-utils-4.28.1" = {
       name = "_at_typescript-eslint_slash_experimental-utils";
       packageName = "@typescript-eslint/experimental-utils";
-      version = "4.28.0";
+      version = "4.28.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.0.tgz";
-        sha512 = "9XD9s7mt3QWMk82GoyUpc/Ji03vz4T5AYlHF9DcoFNfJ/y3UAclRsfGiE2gLfXtyC+JRA3trR7cR296TEb1oiQ==";
+        url = "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.1.tgz";
+        sha512 = "n8/ggadrZ+uyrfrSEchx3jgODdmcx7MzVM2sI3cTpI/YlfSm0+9HEUaWw3aQn2urL2KYlWYMDgn45iLfjDYB+Q==";
       };
     };
     "@typescript-eslint/parser-3.10.1" = {
@@ -7429,22 +7591,22 @@ let
         sha512 = "Ug1RcWcrJP02hmtaXVS3axPPTTPnZjupqhgj+NnZ6BCkwSImWk/283347+x9wN+lqOdK9Eo3vsyiyDHgsmiEJw==";
       };
     };
-    "@typescript-eslint/parser-4.28.0" = {
+    "@typescript-eslint/parser-4.28.1" = {
       name = "_at_typescript-eslint_slash_parser";
       packageName = "@typescript-eslint/parser";
-      version = "4.28.0";
+      version = "4.28.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.28.0.tgz";
-        sha512 = "7x4D22oPY8fDaOCvkuXtYYTQ6mTMmkivwEzS+7iml9F9VkHGbbZ3x4fHRwxAb5KeuSkLqfnYjs46tGx2Nour4A==";
+        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.28.1.tgz";
+        sha512 = "UjrMsgnhQIIK82hXGaD+MCN8IfORS1CbMdu7VlZbYa8LCZtbZjJA26De4IPQB7XYZbL8gJ99KWNj0l6WD0guJg==";
       };
     };
-    "@typescript-eslint/scope-manager-4.28.0" = {
+    "@typescript-eslint/scope-manager-4.28.1" = {
       name = "_at_typescript-eslint_slash_scope-manager";
       packageName = "@typescript-eslint/scope-manager";
-      version = "4.28.0";
+      version = "4.28.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.0.tgz";
-        sha512 = "eCALCeScs5P/EYjwo6se9bdjtrh8ByWjtHzOkC4Tia6QQWtQr3PHovxh3TdYTuFcurkYI4rmFsRFpucADIkseg==";
+        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.1.tgz";
+        sha512 = "o95bvGKfss6705x7jFGDyS7trAORTy57lwJ+VsYwil/lOUxKQ9tA7Suuq+ciMhJc/1qPwB3XE2DKh9wubW8YYA==";
       };
     };
     "@typescript-eslint/types-3.10.1" = {
@@ -7456,13 +7618,13 @@ let
         sha512 = "+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==";
       };
     };
-    "@typescript-eslint/types-4.28.0" = {
+    "@typescript-eslint/types-4.28.1" = {
       name = "_at_typescript-eslint_slash_types";
       packageName = "@typescript-eslint/types";
-      version = "4.28.0";
+      version = "4.28.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.0.tgz";
-        sha512 = "p16xMNKKoiJCVZY5PW/AfILw2xe1LfruTcfAKBj3a+wgNYP5I9ZEKNDOItoRt53p4EiPV6iRSICy8EPanG9ZVA==";
+        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.1.tgz";
+        sha512 = "4z+knEihcyX7blAGi7O3Fm3O6YRCP+r56NJFMNGsmtdw+NCdpG5SgNz427LS9nQkRVTswZLhz484hakQwB8RRg==";
       };
     };
     "@typescript-eslint/typescript-estree-3.10.1" = {
@@ -7474,13 +7636,13 @@ let
         sha512 = "QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w==";
       };
     };
-    "@typescript-eslint/typescript-estree-4.28.0" = {
+    "@typescript-eslint/typescript-estree-4.28.1" = {
       name = "_at_typescript-eslint_slash_typescript-estree";
       packageName = "@typescript-eslint/typescript-estree";
-      version = "4.28.0";
+      version = "4.28.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.0.tgz";
-        sha512 = "m19UQTRtxMzKAm8QxfKpvh6OwQSXaW1CdZPoCaQuLwAq7VZMNuhJmZR4g5281s2ECt658sldnJfdpSZZaxUGMQ==";
+        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.1.tgz";
+        sha512 = "GhKxmC4sHXxHGJv8e8egAZeTZ6HI4mLU6S7FUzvFOtsk7ZIDN1ksA9r9DyOgNqowA9yAtZXV0Uiap61bIO81FQ==";
       };
     };
     "@typescript-eslint/visitor-keys-3.10.1" = {
@@ -7492,13 +7654,13 @@ let
         sha512 = "9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ==";
       };
     };
-    "@typescript-eslint/visitor-keys-4.28.0" = {
+    "@typescript-eslint/visitor-keys-4.28.1" = {
       name = "_at_typescript-eslint_slash_visitor-keys";
       packageName = "@typescript-eslint/visitor-keys";
-      version = "4.28.0";
+      version = "4.28.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.0.tgz";
-        sha512 = "PjJyTWwrlrvM5jazxYF5ZPs/nl0kHDZMVbuIcbpawVXaDPelp3+S9zpOz5RmVUfS/fD5l5+ZXNKnWhNYjPzCvw==";
+        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.1.tgz";
+        sha512 = "K4HMrdFqr9PFquPu178SaSb92CaWe2yErXyPumc8cYWxFmhgJsNY9eSePmO05j0JhBvf2Cdhptd6E6Yv9HVHcg==";
       };
     };
     "@uifabric/foundation-7.9.26" = {
@@ -7582,13 +7744,13 @@ let
         sha512 = "sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==";
       };
     };
-    "@unicode/unicode-13.0.0-1.0.6" = {
+    "@unicode/unicode-13.0.0-1.1.0" = {
       name = "_at_unicode_slash_unicode-13.0.0";
       packageName = "@unicode/unicode-13.0.0";
-      version = "1.0.6";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@unicode/unicode-13.0.0/-/unicode-13.0.0-1.0.6.tgz";
-        sha512 = "ywSlML1wdeBSGH12b6PkblGtjzsQNMZ7+JlJj+eoPj0VuCeg52hcUTeVWfd4GmISU+zOQHWjNC6c0xmsIuVy8Q==";
+        url = "https://registry.npmjs.org/@unicode/unicode-13.0.0/-/unicode-13.0.0-1.1.0.tgz";
+        sha512 = "iOVqHDBzYSb4EOLBirZM9qNur+J7hAb6YyzGlUoAFx2ubb3Qidc+VhAuRQAxnOOWEqMcIZpnVnJ/OkTxbNmgEA==";
       };
     };
     "@uphold/request-logger-2.0.0" = {
@@ -7636,31 +7798,31 @@ let
         sha512 = "B6PedV/H2kcGEAgnqncwjHe3E8fqUNXCLv1BsrNwkHHWQJXkDN7dFeuEB4oaucBOVbjhH7KGLJ6JAiXPE3S7xA==";
       };
     };
-    "@vue/compiler-core-3.1.2" = {
+    "@vue/compiler-core-3.1.3" = {
       name = "_at_vue_slash_compiler-core";
       packageName = "@vue/compiler-core";
-      version = "3.1.2";
+      version = "3.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.1.2.tgz";
-        sha512 = "nHmq7vLjq/XM2IMbZUcKWoH5sPXa2uR/nIKZtjbK5F3TcbnYE/zKsrSUR9WZJ03unlwotNBX1OyxVt9HbWD7/Q==";
+        url = "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.1.3.tgz";
+        sha512 = "I58MDtVa8AYEIa3waLO6/89JdmgpkDAEcL3Vrmlsbnt07KZ5sIGLqaXjzGrOT57j9s8ty0WTYlLQq2rWUVYGCg==";
       };
     };
-    "@vue/compiler-dom-3.1.2" = {
+    "@vue/compiler-dom-3.1.3" = {
       name = "_at_vue_slash_compiler-dom";
       packageName = "@vue/compiler-dom";
-      version = "3.1.2";
+      version = "3.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.1.2.tgz";
-        sha512 = "k2+SWcWH0jL6WQAX7Or2ONqu5MbtTgTO0dJrvebQYzgqaKMXNI90RNeWeCxS4BnNFMDONpHBeFgbwbnDWIkmRg==";
+        url = "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.1.3.tgz";
+        sha512 = "BunLXKP+UvY1XJ0L6M7KD/De0XP+kOlIxFg3OfXtVQZcLLgnLcTgSK3t/ylvIpYJOadGaHhb+BfCK/hdqOVAyw==";
       };
     };
-    "@vue/shared-3.1.2" = {
+    "@vue/shared-3.1.3" = {
       name = "_at_vue_slash_shared";
       packageName = "@vue/shared";
-      version = "3.1.2";
+      version = "3.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/shared/-/shared-3.1.2.tgz";
-        sha512 = "EmH/poaDWBPJaPILXNI/1fvUbArJQmmTyVCwvvyDYDFnkPoTclAbHRAtyIvqfez7jybTDn077HTNILpxlsoWhg==";
+        url = "https://registry.npmjs.org/@vue/shared/-/shared-3.1.3.tgz";
+        sha512 = "uGBX4bZVFvgranxzpH3q1gGmICUjEUnNrMIBFeZRw8hBfCPhT+VnuY8+mG2l/yEyY73J9e6d36CtbFUqDXa12w==";
       };
     };
     "@webassemblyjs/ast-1.11.0" = {
@@ -8518,13 +8680,13 @@ let
         sha512 = "nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==";
       };
     };
-    "acorn-8.4.0" = {
+    "acorn-8.4.1" = {
       name = "acorn";
       packageName = "acorn";
-      version = "8.4.0";
+      version = "8.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-8.4.0.tgz";
-        sha512 = "ULr0LDaEqQrMFGyQ3bhJkLsbtrQ8QibAseGZeaSUiT/6zb9IvIkomWHJIvgvwad+hinRAgsI51JcWk2yvwyL+w==";
+        url = "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz";
+        sha512 = "asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==";
       };
     };
     "acorn-globals-1.0.9" = {
@@ -8869,15 +9031,6 @@ let
         sha512 = "LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==";
       };
     };
-    "ajv-8.2.0" = {
-      name = "ajv";
-      packageName = "ajv";
-      version = "8.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-8.2.0.tgz";
-        sha512 = "WSNGFuyWd//XO8n/m/EaOlNLtO0yL8EXT/74LqT4khdhpZjP7lkj/kT5uwRmGitKEVp/Oj7ZUHeGfPtgHhQ5CA==";
-      };
-    };
     "ajv-8.6.0" = {
       name = "ajv";
       packageName = "ajv";
@@ -8896,15 +9049,6 @@ let
         sha512 = "DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==";
       };
     };
-    "ajv-formats-2.0.2" = {
-      name = "ajv-formats";
-      packageName = "ajv-formats";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.0.2.tgz";
-        sha512 = "Brah4Uo5/U8v76c6euTwtjVFFaVishwnJrQBYpev1JRh4vjA1F4HY3UzQez41YUCszUCXKagG8v6eVRBHV1gkw==";
-      };
-    };
     "ajv-formats-2.1.0" = {
       name = "ajv-formats";
       packageName = "ajv-formats";
@@ -9400,22 +9544,22 @@ let
         sha1 = "d8a3f26615379398a1b53ca6cc1a666a0fbfe150";
       };
     };
-    "apache-crypt-1.2.4" = {
+    "apache-crypt-1.2.5" = {
       name = "apache-crypt";
       packageName = "apache-crypt";
-      version = "1.2.4";
+      version = "1.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apache-crypt/-/apache-crypt-1.2.4.tgz";
-        sha512 = "Icze5ny5W5uv3xgMgl8U+iGmRCC0iIDrb2PVPuRBtL3Zy1Y5TMewXP1Vtc4r5X9eNNBEk7KYPu0Qby9m/PmcHg==";
+        url = "https://registry.npmjs.org/apache-crypt/-/apache-crypt-1.2.5.tgz";
+        sha512 = "ICnYQH+DFVmw+S4Q0QY2XRXD8Ne8ewh8HgbuFH4K7022zCxgHM0Hz1xkRnUlEfAXNbwp1Cnhbedu60USIfDxvg==";
       };
     };
-    "apache-md5-1.1.5" = {
+    "apache-md5-1.1.7" = {
       name = "apache-md5";
       packageName = "apache-md5";
-      version = "1.1.5";
+      version = "1.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apache-md5/-/apache-md5-1.1.5.tgz";
-        sha512 = "sbLEIMQrkV7RkIruqTPXxeCMkAAycv4yzTkBzRgOR1BrR5UB7qZtupqxkersTJSf0HZ3sbaNRrNV80TnnM7cUw==";
+        url = "https://registry.npmjs.org/apache-md5/-/apache-md5-1.1.7.tgz";
+        sha512 = "JtHjzZmJxtzfTSjsCyHgPR155HBe5WGyUyHTaEkfy46qhwCFKx1Epm6nAxgUG3WfUZP1dWhGqj9Z2NOBeZ+uBw==";
       };
     };
     "apollo-cache-control-0.14.0" = {
@@ -10858,13 +11002,13 @@ let
         sha512 = "tbMZ/Y2rRo6R6TTBODJXTiil+MXaoT6Qzotws3yvI1IWGpYxKo7N/3L06XB8ul8tCG0TigxIOY70SMICM70Ppg==";
       };
     };
-    "aws-sdk-2.932.0" = {
+    "aws-sdk-2.938.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.932.0";
+      version = "2.938.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.932.0.tgz";
-        sha512 = "U6MWUtFD0npWa+ReVEgm0fCIM0fMOYahFp14GLv8fC+BWOTvh5Iwt/gF8NrLomx42bBjA1Abaw6yhmiaSJDQHQ==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.938.0.tgz";
+        sha512 = "e+KWYRyJ4Tvlg+6kQTze9Hxmkn+4/H8m+D8AXlfgUbtzyc1OBDf7cMCcl8IvCD3xoqELsgEunPC014v2JTTfZg==";
       };
     };
     "aws-sign2-0.6.0" = {
@@ -11245,13 +11389,13 @@ let
         sha512 = "Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==";
       };
     };
-    "babel-plugin-styled-components-1.12.0" = {
+    "babel-plugin-styled-components-1.13.1" = {
       name = "babel-plugin-styled-components";
       packageName = "babel-plugin-styled-components";
-      version = "1.12.0";
+      version = "1.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-1.12.0.tgz";
-        sha512 = "FEiD7l5ZABdJPpLssKXjBUJMYqzbcNzBowfXDCdJhOpbhWiewapUaY+LZGT8R4Jg2TwOjGjG4RKeyrO5p9sBkA==";
+        url = "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-1.13.1.tgz";
+        sha512 = "iY11g5orsdBnvWtXKCFBzDyTxZ9jvmkcYCCs5ONlvASYltDRhieCVzeDC7Do0fSW7psAL0zfVoXB3FHz2CkUSg==";
       };
     };
     "babel-plugin-syntax-flow-6.18.0" = {
@@ -12532,13 +12676,13 @@ let
         sha1 = "f962d687ec2c369570ae71af843256e6d0ca1129";
       };
     };
-    "blessed-contrib-4.9.0" = {
+    "blessed-contrib-4.10.0" = {
       name = "blessed-contrib";
       packageName = "blessed-contrib";
-      version = "4.9.0";
+      version = "4.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/blessed-contrib/-/blessed-contrib-4.9.0.tgz";
-        sha512 = "lqvb+6WeqMh7AO8zudSDnvKPGqzkmxqMAwpv83qzeL35MfmROkmjwnY3pi5dvgxfwg5i1UJnDMpj8OroCqpAPw==";
+        url = "https://registry.npmjs.org/blessed-contrib/-/blessed-contrib-4.10.0.tgz";
+        sha512 = "NbMkaBNPNZikQo5XBKsXTGIu/gxAywRANHPt2Zc4oFmtiXGHgAGgl6Q6mg6sr9SvG08zidPxokRDcgso+HGmzw==";
       };
     };
     "blgr-0.1.8" = {
@@ -13999,6 +14143,15 @@ let
         sha512 = "AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==";
       };
     };
+    "cache-chunk-store-3.2.2" = {
+      name = "cache-chunk-store";
+      packageName = "cache-chunk-store";
+      version = "3.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cache-chunk-store/-/cache-chunk-store-3.2.2.tgz";
+        sha512 = "2lJdWbgHFFxcSth9s2wpId3CR3v1YC63KjP4T9WhpW7LWlY7Hiiei3QwwqzkWqlJTfR8lSy9F5kRQECeyj+yQA==";
+      };
+    };
     "cache-directory-2.0.0" = {
       name = "cache-directory";
       packageName = "cache-directory";
@@ -14296,13 +14449,13 @@ let
         sha512 = "bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==";
       };
     };
-    "caniuse-lite-1.0.30001239" = {
+    "caniuse-lite-1.0.30001241" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30001239";
+      version = "1.0.30001241";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001239.tgz";
-        sha512 = "cyBkXJDMeI4wthy8xJ2FvDU6+0dtcZSJW3voUF8+e9f1bBeuvyZfc3PNbkOETyhbR+dGCPzn9E7MA3iwzusOhQ==";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001241.tgz";
+        sha512 = "1uoSZ1Pq1VpH0WerIMqwptXHNNGfdl7d1cJUFs80CwQ/lVzdhTvsFZCeNFslze7AjsQnb4C85tzclPa1VShbeQ==";
       };
     };
     "canvas-2.8.0" = {
@@ -14836,15 +14989,6 @@ let
         sha512 = "0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==";
       };
     };
-    "cheerio-1.0.0-rc.5" = {
-      name = "cheerio";
-      packageName = "cheerio";
-      version = "1.0.0-rc.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.5.tgz";
-        sha512 = "yoqps/VCaZgN4pfXtenwHROTp8NG6/Hlt4Jpz2FEP0ZJQ+ZUkVDd0hAPDNKhj3nakpfPt/CNs57yEtxD1bXQiw==";
-      };
-    };
     "cheerio-select-1.5.0" = {
       name = "cheerio-select";
       packageName = "cheerio-select";
@@ -14854,15 +14998,6 @@ let
         sha512 = "qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==";
       };
     };
-    "cheerio-select-tmp-0.1.1" = {
-      name = "cheerio-select-tmp";
-      packageName = "cheerio-select-tmp";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cheerio-select-tmp/-/cheerio-select-tmp-0.1.1.tgz";
-        sha512 = "YYs5JvbpU19VYJyj+F7oYrIE2BOll1/hRU7rEy/5+v9BzkSo3bK81iAeeQEMI92vRIxz677m72UmJUiVwwgjfQ==";
-      };
-    };
     "child-process-1.0.2" = {
       name = "child-process";
       packageName = "child-process";
@@ -15223,13 +15358,13 @@ let
         sha512 = "VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==";
       };
     };
-    "clean-css-5.1.2" = {
+    "clean-css-5.1.3" = {
       name = "clean-css";
       packageName = "clean-css";
-      version = "5.1.2";
+      version = "5.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/clean-css/-/clean-css-5.1.2.tgz";
-        sha512 = "QcaGg9OuMo+0Ds933yLOY+gHPWbxhxqF0HDexmToPf8pczvmvZGYzd+QqWp9/mkucAOKViI+dSFOqoZIvXbeBw==";
+        url = "https://registry.npmjs.org/clean-css/-/clean-css-5.1.3.tgz";
+        sha512 = "qGXzUCDpLwAlPx0kYeU4QXjzQIcIYZbJjD4FNm7NnSjoP0hYMVZhHOpUYJ6AwfkMX2cceLRq54MeCgHy/va1cA==";
       };
     };
     "clean-deep-3.4.0" = {
@@ -15376,6 +15511,15 @@ let
         sha512 = "g7rLWfhAo/7pF+a/STFH/xPyosaL1zgADhI0OM83hl3c7S43iGvJWEAV2QuDOnQ8i6EMBj/u4+NTd0d5L+4JfA==";
       };
     };
+    "cli-progress-footer-1.1.1" = {
+      name = "cli-progress-footer";
+      packageName = "cli-progress-footer";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-progress-footer/-/cli-progress-footer-1.1.1.tgz";
+        sha512 = "J0uW2u06pWI0tMKCbcCiMOZd8TbWj4EpuYgPo4Jiwih/FfGbd4dbLcJieO0Ior1pY1HBrnmCuHFk6GB9azE4pg==";
+      };
+    };
     "cli-spinner-0.2.10" = {
       name = "cli-spinner";
       packageName = "cli-spinner";
@@ -15547,15 +15691,6 @@ let
         sha512 = "0tOHJNMF9+4R3qcbBL+4IxLErpaYSYvzs10aXuECDbZdJOuJHdagJMAqvLdeaUQTI/o2uSCDRpet6ywDiKOAYw==";
       };
     };
-    "clipboard-2.0.8" = {
-      name = "clipboard";
-      packageName = "clipboard";
-      version = "2.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/clipboard/-/clipboard-2.0.8.tgz";
-        sha512 = "Y6WO0unAIQp5bLmk1zdThRhgJt/x3ks6f30s3oE3H1mgIEU33XyQjEf8gsf6DxC7NPX8Y1SsNWjUjL/ywLnnbQ==";
-      };
-    };
     "clipboardy-1.2.3" = {
       name = "clipboardy";
       packageName = "clipboardy";
@@ -16240,15 +16375,6 @@ let
         sha512 = "GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==";
       };
     };
-    "command-exists-1.2.6" = {
-      name = "command-exists";
-      packageName = "command-exists";
-      version = "1.2.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/command-exists/-/command-exists-1.2.6.tgz";
-        sha512 = "Qst/zUUNmS/z3WziPxyqjrcz09pm+2Knbs5mAZL4VAE0sSrNY1/w8+/YxeHcoBTsO6iojA6BW7eFf27Eg2MRuw==";
-      };
-    };
     "command-exists-1.2.9" = {
       name = "command-exists";
       packageName = "command-exists";
@@ -16483,6 +16609,15 @@ let
         sha512 = "QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==";
       };
     };
+    "commander-8.0.0" = {
+      name = "commander";
+      packageName = "commander";
+      version = "8.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-8.0.0.tgz";
+        sha512 = "Xvf85aAtu6v22+E5hfVoLHqyul/jyxh91zvqk/ioJTQuJR7Z78n7H558vMPKanPSRgIEeZemT92I2g9Y8LPbSQ==";
+      };
+    };
     "commandpost-1.4.0" = {
       name = "commandpost";
       packageName = "commandpost";
@@ -16996,13 +17131,13 @@ let
         sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75";
       };
     };
-    "constructs-3.3.87" = {
+    "constructs-3.3.94" = {
       name = "constructs";
       packageName = "constructs";
-      version = "3.3.87";
+      version = "3.3.94";
       src = fetchurl {
-        url = "https://registry.npmjs.org/constructs/-/constructs-3.3.87.tgz";
-        sha512 = "/SQrY1RP9KQsSyyVeyBTSMIiC5yOJO635YVqPH6XBsS5MMkBHd4gsPOX4FkpkDLMC1shAoK0FSTLatgxFiS4+A==";
+        url = "https://registry.npmjs.org/constructs/-/constructs-3.3.94.tgz";
+        sha512 = "P2Sfaa+CHt6lVlIdSry4hj1cQsg71J7eXJm9zyPpZNi/FDeHu/vcOmon84v8effvBoF5e7ef2tfVCwwMXcu9Jw==";
       };
     };
     "consume-http-header-1.0.0" = {
@@ -17078,13 +17213,13 @@ let
         sha1 = "0e790b3abfef90f6ecb77ae8585db9099caf7578";
       };
     };
-    "contentful-management-7.25.1" = {
+    "contentful-management-7.27.0" = {
       name = "contentful-management";
       packageName = "contentful-management";
-      version = "7.25.1";
+      version = "7.27.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/contentful-management/-/contentful-management-7.25.1.tgz";
-        sha512 = "V8tcSHw3MwWKWHWMW+AZB6lP31hreos+v2gtayZczWXYRcfd+owt+qVjbkLZk1pL80ewSmc8Pl1A7rM/oB2ldw==";
+        url = "https://registry.npmjs.org/contentful-management/-/contentful-management-7.27.0.tgz";
+        sha512 = "HGwUmR0160TI9RNiqLWjlFpPmjiXGC2VAgtzqM0mXMCJKJTzLBmsETVycQ7Nwip+2+CHdDRta5a9vQEN89UNTw==";
       };
     };
     "contentful-sdk-core-6.8.0" = {
@@ -17510,31 +17645,31 @@ let
         sha512 = "SaMnchL//WwU2Ot1hhkPflE8gzo7uq1FGvUJ8GKmi3TOU7rGTHIU+eir1WGf6qOtTyxdfdcp10yPdGZ59sQ3hw==";
       };
     };
-    "core-js-3.15.1" = {
+    "core-js-3.15.2" = {
       name = "core-js";
       packageName = "core-js";
-      version = "3.15.1";
+      version = "3.15.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.15.1.tgz";
-        sha512 = "h8VbZYnc9pDzueiS2610IULDkpFFPunHwIpl8yRwFahAEEdSpHlTy3h3z3rKq5h11CaUdBEeRViu9AYvbxiMeg==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.15.2.tgz";
+        sha512 = "tKs41J7NJVuaya8DxIOCnl8QuPHx5/ZVbFo1oKgVl1qHFBBrDctzQGtuLjPpRdNTWmKPH6oEvgN/MUID+l485Q==";
       };
     };
-    "core-js-compat-3.15.1" = {
+    "core-js-compat-3.15.2" = {
       name = "core-js-compat";
       packageName = "core-js-compat";
-      version = "3.15.1";
+      version = "3.15.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.15.1.tgz";
-        sha512 = "xGhzYMX6y7oEGQGAJmP2TmtBLvR4nZmRGEcFa3ubHOq5YEp51gGN9AovVa0AoujGZIq+Wm6dISiYyGNfdflYww==";
+        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.15.2.tgz";
+        sha512 = "Wp+BJVvwopjI+A1EFqm2dwUmWYXrvucmtIB2LgXn/Rb+gWPKYxtmb4GKHGKG/KGF1eK9jfjzT38DITbTOCX/SQ==";
       };
     };
-    "core-js-pure-3.15.1" = {
+    "core-js-pure-3.15.2" = {
       name = "core-js-pure";
       packageName = "core-js-pure";
-      version = "3.15.1";
+      version = "3.15.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.15.1.tgz";
-        sha512 = "OZuWHDlYcIda8sJLY4Ec6nWq2hRjlyCqCZ+jCflyleMkVt3tPedDVErvHslyS2nbO+SlBFMSBJYvtLMwxnrzjA==";
+        url = "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.15.2.tgz";
+        sha512 = "D42L7RYh1J2grW8ttxoY1+17Y4wXZeKe7uyplAI3FkNQyI5OgBIAjUfFiTPfL1rs0qLpxaabITNbjKl1Sp82tA==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -18023,15 +18158,6 @@ let
         sha512 = "DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==";
       };
     };
-    "css-b64-images-0.2.5" = {
-      name = "css-b64-images";
-      packageName = "css-b64-images";
-      version = "0.2.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-b64-images/-/css-b64-images-0.2.5.tgz";
-        sha1 = "42005d83204b2b4a5d93b6b1a5644133b5927a02";
-      };
-    };
     "css-color-keywords-1.0.0" = {
       name = "css-color-keywords";
       packageName = "css-color-keywords";
@@ -18140,15 +18266,6 @@ let
         sha512 = "Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==";
       };
     };
-    "css-select-3.1.2" = {
-      name = "css-select";
-      packageName = "css-select";
-      version = "3.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-select/-/css-select-3.1.2.tgz";
-        sha512 = "qmss1EihSuBNWNNhHjxzxSfJoFBM/lERB/Q4EnsJQQC62R2evJDW481091oAdOr9uh46/0n4nrg0It5cAnj1RA==";
-      };
-    };
     "css-select-4.1.3" = {
       name = "css-select";
       packageName = "css-select";
@@ -18230,15 +18347,6 @@ let
         sha512 = "ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==";
       };
     };
-    "css-what-4.0.0" = {
-      name = "css-what";
-      packageName = "css-what";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-what/-/css-what-4.0.0.tgz";
-        sha512 = "teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A==";
-      };
-    };
     "css-what-5.0.1" = {
       name = "css-what";
       packageName = "css-what";
@@ -19580,13 +19688,13 @@ let
         sha1 = "d171a87933252807eb3cb61dc1c1445d078df2d9";
       };
     };
-    "decimal.js-10.3.0" = {
+    "decimal.js-10.3.1" = {
       name = "decimal.js";
       packageName = "decimal.js";
-      version = "10.3.0";
+      version = "10.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.0.tgz";
-        sha512 = "MrQRs2gyD//7NeHi9TtsfClkf+cFAewDz+PZHR8ILKglLmBMyVX3ymQ+oeznE3tjrS7beTN+6JXb2C3JDHm7ug==";
+        url = "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz";
+        sha512 = "V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==";
       };
     };
     "decimal.js-7.5.1" = {
@@ -20102,15 +20210,6 @@ let
         sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
       };
     };
-    "delegate-3.2.0" = {
-      name = "delegate";
-      packageName = "delegate";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz";
-        sha512 = "IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==";
-      };
-    };
     "delegates-1.0.0" = {
       name = "delegates";
       packageName = "delegates";
@@ -20435,15 +20534,6 @@ let
         sha512 = "y/Ev98AleGvl43YKTNcA2Q+lyFmsmCfTTNWy4cjEJxoLkbobcXtRS0Kvx06daCgr2GdtlwLfNzL553BkktfJoA==";
       };
     };
-    "devtools-protocol-0.0.854822" = {
-      name = "devtools-protocol";
-      packageName = "devtools-protocol";
-      version = "0.0.854822";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.854822.tgz";
-        sha512 = "xd4D8kHQtB0KtWW0c9xBZD5LVtm9chkMOfs/3Yn01RhT/sFIsVtzTtypfKoFfWBaL+7xCYLxjOLkhwPXaX/Kcg==";
-      };
-    };
     "devtools-protocol-0.0.883894" = {
       name = "devtools-protocol";
       packageName = "devtools-protocol";
@@ -20984,15 +21074,6 @@ let
         sha512 = "2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==";
       };
     };
-    "dom-serializer-1.2.0" = {
-      name = "dom-serializer";
-      packageName = "dom-serializer";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.2.0.tgz";
-        sha512 = "n6kZFH/KlCrqs/1GHMOd5i2fd/beQHuehKdWvNNffbGHTr/almdhuVvTVFb3V7fglz+nC50fFusu3lY33h12pA==";
-      };
-    };
     "dom-serializer-1.3.2" = {
       name = "dom-serializer";
       packageName = "dom-serializer";
@@ -21650,13 +21731,13 @@ let
         sha512 = "1sQ1DRtQGpglFhc3urD4olMJzt/wxlbnAAsf+WY2xHf5c50ZovivZvCXSpVgTOP9f4TzOMvelWyspyfhxQKHzQ==";
       };
     };
-    "electron-to-chromium-1.3.755" = {
+    "electron-to-chromium-1.3.765" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.3.755";
+      version = "1.3.765";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.755.tgz";
-        sha512 = "BJ1s/kuUuOeo1bF/EM2E4yqW9te0Hpof3wgwBx40AWJE18zsD1Tqo0kr7ijnOc+lRsrlrqKPauJAHqaxOItoUA==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.765.tgz";
+        sha512 = "4NhcsfZYlr1x4FehYkK+R9CNNTOZ8vLcIu8Y1uWehxYp5r/jlCGAfBqChIubEfdtX+rBQpXx4yJuX/dzILH/nw==";
       };
     };
     "electrum-client-git://github.com/janoside/electrum-client" = {
@@ -22741,13 +22822,13 @@ let
         sha512 = "Nhc+oVAHm0uz/PkJAWscwIT4ijTrK5fqNqz9QB1D35SbbuMG1uB6Yr5AJpvPSWg+WOw7nYNswerYh0kOk64gqQ==";
       };
     };
-    "eslint-plugin-vue-7.11.1" = {
+    "eslint-plugin-vue-7.12.1" = {
       name = "eslint-plugin-vue";
       packageName = "eslint-plugin-vue";
-      version = "7.11.1";
+      version = "7.12.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.11.1.tgz";
-        sha512 = "lbw3vkEAGqYjqd1HpPFWHXtYaS8mILTJ5KOpJfRxO3Fo7o0wCf1zD7vSOasbm6nTA9xIgvZQ4VcyGIzQXxznHw==";
+        url = "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.12.1.tgz";
+        sha512 = "xHf/wCt88qmzqQerjaSteUFGASj7fPreglKD4ijnvoKRkoSJ3/H3kuJE8QFFtc+2wjw6hRDs834HH7vpuTJQzg==";
       };
     };
     "eslint-scope-3.7.3" = {
@@ -22822,6 +22903,15 @@ let
         sha512 = "0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==";
       };
     };
+    "eslint-visitor-keys-3.0.0" = {
+      name = "eslint-visitor-keys";
+      packageName = "eslint-visitor-keys";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.0.0.tgz";
+        sha512 = "mJOZa35trBTb3IyRmo8xmKBZlxf+N7OnUl4+ZhJHs/r+0770Wh/LEACE2pqMGMe27G/4y8P2bYGk4J70IC5k1Q==";
+      };
+    };
     "esmangle-1.0.1" = {
       name = "esmangle";
       packageName = "esmangle";
@@ -22876,6 +22966,15 @@ let
         sha512 = "v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==";
       };
     };
+    "espree-8.0.0" = {
+      name = "espree";
+      packageName = "espree";
+      version = "8.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/espree/-/espree-8.0.0.tgz";
+        sha512 = "y/+i23dwTjIDJrYCcjcAMr3c3UGbPIjC6THMQKjWmhP97fW0FPiI89kmpKfmgV/5jrkIi6toQP+CMm3qBE1Hig==";
+      };
+    };
     "esprima-1.1.1" = {
       name = "esprima";
       packageName = "esprima";
@@ -23614,13 +23713,13 @@ let
         sha1 = "a793d3ac0cad4c6ab571e9968fbbab6cb2532929";
       };
     };
-    "expo-pwa-0.0.84" = {
+    "expo-pwa-0.0.87" = {
       name = "expo-pwa";
       packageName = "expo-pwa";
-      version = "0.0.84";
+      version = "0.0.87";
       src = fetchurl {
-        url = "https://registry.npmjs.org/expo-pwa/-/expo-pwa-0.0.84.tgz";
-        sha512 = "esZ6a5ObdnWn8h9METs3WuUbGEq16vh4wq1jwSK81oBJKIxijd5M0JbqDqhOsT4rIjuH8ZfQKsl0C1AtLIAfgQ==";
+        url = "https://registry.npmjs.org/expo-pwa/-/expo-pwa-0.0.87.tgz";
+        sha512 = "ijNE0hKcOcCTU4Ve0AC69VLCe2d3xLcyU38oCXm2s/r/kuzMvs6bb1ecIrwWUt6Y7JpAPFYGemzxInDW5zcXQg==";
       };
     };
     "express-2.5.11" = {
@@ -24154,13 +24253,13 @@ let
         sha512 = "g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==";
       };
     };
-    "fast-glob-3.2.5" = {
+    "fast-glob-3.2.6" = {
       name = "fast-glob";
       packageName = "fast-glob";
-      version = "3.2.5";
+      version = "3.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz";
-        sha512 = "2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==";
+        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.6.tgz";
+        sha512 = "GnLuqj/pvQ7pX8/L4J84nijv6sAnlwvSDpMkJi9i7nPmPxGtRPkBSStfvDW5l6nMdX9VWe+pkKWFTgD+vF2QSQ==";
       };
     };
     "fast-json-parse-1.0.3" = {
@@ -24766,13 +24865,13 @@ let
         sha512 = "LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg==";
       };
     };
-    "filesize-6.3.0" = {
+    "filesize-6.4.0" = {
       name = "filesize";
       packageName = "filesize";
-      version = "6.3.0";
+      version = "6.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/filesize/-/filesize-6.3.0.tgz";
-        sha512 = "ytx0ruGpDHKWVoiui6+BY/QMNngtDQ/pJaFwfBpQif0J63+E8DLdFyqS3NkKQn7vIruUEpoGD9JUJSg7Kp+I0g==";
+        url = "https://registry.npmjs.org/filesize/-/filesize-6.4.0.tgz";
+        sha512 = "mjFIpOHC4jbfcTfoh4rkWpI31mF7viw9ikj/JyLoKzqlwG/YsefKfvYlYhdYdg/9mtK2z1AzgN/0LvVQ3zdlSQ==";
       };
     };
     "filestream-5.0.0" = {
@@ -25144,13 +25243,13 @@ let
         sha512 = "r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==";
       };
     };
-    "flatted-3.1.1" = {
+    "flatted-3.2.0" = {
       name = "flatted";
       packageName = "flatted";
-      version = "3.1.1";
+      version = "3.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz";
-        sha512 = "zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==";
+        url = "https://registry.npmjs.org/flatted/-/flatted-3.2.0.tgz";
+        sha512 = "XprP7lDrVT+kE2c2YlfiV+IfS9zxukiIOvNamPNsImNhXadSsQEbosItdL9bUQlCZXR13SvPk20BjWSWLA7m4A==";
       };
     };
     "flatten-0.0.1" = {
@@ -25189,13 +25288,13 @@ let
         sha512 = "jlbUu0XkbpXeXhan5xyTqVK1jmEKNxE8hpzznI3TThHTr76GiFwK0iRzhDo4KNy+S9h/KxHaqVhTP86vA6wHCg==";
       };
     };
-    "flow-parser-0.153.0" = {
+    "flow-parser-0.154.0" = {
       name = "flow-parser";
       packageName = "flow-parser";
-      version = "0.153.0";
+      version = "0.154.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flow-parser/-/flow-parser-0.153.0.tgz";
-        sha512 = "qa7UODgbofQyruRWqNQ+KM5hO37CenByxhNfAztiwjBsPhWZ5AFh5g+gtLpTWPlzG7X66QdjBB9DuHNUBcaF+Q==";
+        url = "https://registry.npmjs.org/flow-parser/-/flow-parser-0.154.0.tgz";
+        sha512 = "cH9xY/ljOgmqG1n7PU1jffiHhRggoloauwOrOlCWBEX4Y+ml6GA8g//tCVKU+6PO4BXoPF22TFHkS5E1bN3JOQ==";
       };
     };
     "fluent-ffmpeg-2.1.2" = {
@@ -26719,13 +26818,13 @@ let
         sha512 = "kbuvus1dWQB2sSW4cbfTeGpCMd8ge9jx9RKnhXhuJ7tnvT+NIrTVfYZxjtflZddQYcmdOTlkAcjmx7bor+15AQ==";
       };
     };
-    "git-url-parse-11.4.4" = {
+    "git-url-parse-11.5.0" = {
       name = "git-url-parse";
       packageName = "git-url-parse";
-      version = "11.4.4";
+      version = "11.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.4.4.tgz";
-        sha512 = "Y4o9o7vQngQDIU9IjyCmRJBin5iYjI5u9ZITnddRZpD7dcCFQj2sL2XuMNbLRE4b4B/4ENPsp2Q8P44fjAZ0Pw==";
+        url = "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.5.0.tgz";
+        sha512 = "TZYSMDeM37r71Lqg1mbnMlOqlHd7BSij9qN7XwTkRqSAYFMihGLGhfHwgqQob3GUhEneKnV4nskN9rbQw2KGxA==";
       };
     };
     "gitconfiglocal-1.0.0" = {
@@ -27251,15 +27350,6 @@ let
         sha1 = "2edeeb958084d0f8ea7988e5d995b1c7dfc14777";
       };
     };
-    "goldengate-10.0.6" = {
-      name = "goldengate";
-      packageName = "goldengate";
-      version = "10.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/goldengate/-/goldengate-10.0.6.tgz";
-        sha512 = "6nwFndjr71Od5XL53oVtlwf3gk8EI/zkKrcjeRAS/G6XLFzPsrOe4npeuom+mgkfgE0rRJFtoOY0wrYgDGuYSg==";
-      };
-    };
     "goldengate-10.1.0" = {
       name = "goldengate";
       packageName = "goldengate";
@@ -27278,15 +27368,6 @@ let
         sha512 = "otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==";
       };
     };
-    "good-listener-1.2.2" = {
-      name = "good-listener";
-      packageName = "good-listener";
-      version = "1.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz";
-        sha1 = "d53b30cdf9313dffb7dc9a0d477096aa6d145c50";
-      };
-    };
     "google-auth-library-6.1.6" = {
       name = "google-auth-library";
       packageName = "google-auth-library";
@@ -27296,13 +27377,13 @@ let
         sha512 = "Q+ZjUEvLQj/lrVHF/IQwRo6p3s8Nc44Zk/DALsN+ac3T4HY/g/3rrufkgtl+nZ1TW7DNAw5cTChdVp4apUXVgQ==";
       };
     };
-    "google-auth-library-7.1.2" = {
+    "google-auth-library-7.2.0" = {
       name = "google-auth-library";
       packageName = "google-auth-library";
-      version = "7.1.2";
+      version = "7.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.1.2.tgz";
-        sha512 = "FMipHgfe2u1LzWsf2n9zEB9KsJ8M3n8OYTHbHtlkzPCyo7IknXQR5X99nfvwUHGuX+iEpihUZxDuPm7+qBYeXg==";
+        url = "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.2.0.tgz";
+        sha512 = "F5mnidUaIXfZZl2FzhZOhboLNR6pIgIPrmP4QAbDKMy+kkb3GOc4r7KndAV9+Kx3VijrQTi4FI/AMLg8VWG6nw==";
       };
     };
     "google-closure-compiler-js-20170910.0.1" = {
@@ -27314,13 +27395,13 @@ let
         sha512 = "Vric7QFWxzHFxITZ10bmlG1H/5rhODb7hJuWyKWMD8GflpQzRmbMVqkFp3fKvN+U9tPwZItGVhkiOR+84PX3ew==";
       };
     };
-    "google-gax-2.16.0" = {
+    "google-gax-2.17.0" = {
       name = "google-gax";
       packageName = "google-gax";
-      version = "2.16.0";
+      version = "2.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/google-gax/-/google-gax-2.16.0.tgz";
-        sha512 = "IwHxHs9gEbvQ0Ne12taqDjJT9cpoLqM7tJamvctIGmkyqnQrdnbDJTGK2Rf85piMYGzmOuPKas9TkhCaoTVIJA==";
+        url = "https://registry.npmjs.org/google-gax/-/google-gax-2.17.0.tgz";
+        sha512 = "Ze/Oq0atVNKyKvDzQFU8B82V9w36GELQruXGsiY1jnySbieZ9vS75v98V/Z10PktmSVqis4sQ+FwK2gkgwIiiw==";
       };
     };
     "google-p12-pem-3.1.0" = {
@@ -27584,13 +27665,13 @@ let
         sha512 = "95yD/tKi24q8xYa7Q9rhQN16AYj5wPbrb8tmHGM3WRc9EBmWrG/0kkMl+tQG8wcEuE9ibR4zyOM31p5Sdr2v4g==";
       };
     };
-    "graphql-tag-2.12.4" = {
+    "graphql-tag-2.12.5" = {
       name = "graphql-tag";
       packageName = "graphql-tag";
-      version = "2.12.4";
+      version = "2.12.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.4.tgz";
-        sha512 = "VV1U4O+9x99EkNpNmCUV5RZwq6MnK4+pGbRYWG+lA/m3uo7TSqJF81OkcOP148gFP6fzdl7JWYBrwWVTS9jXww==";
+        url = "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.5.tgz";
+        sha512 = "5xNhP4063d16Pz3HBtKprutsPrmHZi5IdUGOWRxA2B6VF7BIRGOHZ5WQvDmJXZuPcBg7rYwaFxvQYjqkSdR3TQ==";
       };
     };
     "graphql-tools-3.0.0" = {
@@ -28781,15 +28862,6 @@ let
         sha512 = "LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==";
       };
     };
-    "html-minifier-4.0.0" = {
-      name = "html-minifier";
-      packageName = "html-minifier";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz";
-        sha512 = "aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==";
-      };
-    };
     "html-minifier-terser-5.1.1" = {
       name = "html-minifier-terser";
       packageName = "html-minifier-terser";
@@ -30087,15 +30159,6 @@ let
         sha512 = "JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==";
       };
     };
-    "inquirer-8.0.0" = {
-      name = "inquirer";
-      packageName = "inquirer";
-      version = "8.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inquirer/-/inquirer-8.0.0.tgz";
-        sha512 = "ON8pEJPPCdyjxj+cxsYRe6XfCJepTxANdNnTebsTuQgXpRyZRRT9t4dJwjRubgmvn20CLSEnozRUayXyM9VTXA==";
-      };
-    };
     "inquirer-8.1.1" = {
       name = "inquirer";
       packageName = "inquirer";
@@ -30330,6 +30393,15 @@ let
         sha1 = "96fb0a936c12babd6ff1752a17d05616abd094c6";
       };
     };
+    "into-stream-6.0.0" = {
+      name = "into-stream";
+      packageName = "into-stream";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/into-stream/-/into-stream-6.0.0.tgz";
+        sha512 = "XHbaOAvP+uFKUFsOgoNPRjLkwB+I22JFPFe5OjTkQ0nwgj6+pSjb4NmB6VMxaPshLiOf+zcpOCBQuLwC1KHhZA==";
+      };
+    };
     "invariant-2.2.4" = {
       name = "invariant";
       packageName = "invariant";
@@ -30393,6 +30465,15 @@ let
         sha512 = "b1yeWevW04/jMmkzJ3Fk91d8cAd+pYYg/w0S7XCGAI4yo8jSnAD+S4oAWjfFkwNa+GV8WwCOTDuotWcI5md87A==";
       };
     };
+    "invoices-2.0.0" = {
+      name = "invoices";
+      packageName = "invoices";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/invoices/-/invoices-2.0.0.tgz";
+        sha512 = "UnU0bS3+cMA2UvYrF5RXp/Hm7v/nYiA3F0GVCOeRmDiZmXAt/eO7KdqyRzewopvhBlev7F7t7GZzRRYY1XE3xg==";
+      };
+    };
     "iota-array-1.0.0" = {
       name = "iota-array";
       packageName = "iota-array";
@@ -32337,13 +32418,13 @@ let
         sha512 = "KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==";
       };
     };
-    "jest-worker-27.0.2" = {
+    "jest-worker-27.0.6" = {
       name = "jest-worker";
       packageName = "jest-worker";
-      version = "27.0.2";
+      version = "27.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.2.tgz";
-        sha512 = "EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg==";
+        url = "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.6.tgz";
+        sha512 = "qupxcj/dRuA3xHPMUd40gr2EaAurFbkwzOh7wfPaeE9id7hyjURRQoqNfHifHK3XjJU6YJJUQKILGUnwGPEOCA==";
       };
     };
     "jimp-0.12.1" = {
@@ -32355,13 +32436,13 @@ let
         sha512 = "0soPJif+yjmzmOF+4cF2hyhxUWWpXpQntsm2joJXFFoRcQiPzsG4dbLKYqYPT3Fc6PjZ8MaLtCkDqqckVSfmRw==";
       };
     };
-    "jitdb-3.1.4" = {
+    "jitdb-3.1.5" = {
       name = "jitdb";
       packageName = "jitdb";
-      version = "3.1.4";
+      version = "3.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jitdb/-/jitdb-3.1.4.tgz";
-        sha512 = "UEzC68eqFIQJPQnmPm2/KGirX2pE+GebhA2EZss3b0UZZca7eGgxpvQ7+sIPcwLKAcZr5rmkFhQHGIQJyf20bg==";
+        url = "https://registry.npmjs.org/jitdb/-/jitdb-3.1.5.tgz";
+        sha512 = "O3z6dmk4FY+Il3zt4CEnDwgbCWP89dsGvCK1Gx7pVOSsKML31WupDJMTICZ3PUagYi52NNUhvCZHUeJVJFdgTA==";
       };
     };
     "jju-1.4.0" = {
@@ -32805,13 +32886,13 @@ let
         sha512 = "ChFg5qhvxCaM2bspCqizs48yMtsm5YLHjBoNZLCkbXyc3yMM5l8pnn787B5ww5TI3+tKxKYWkbiKf356kQ1OgQ==";
       };
     };
-    "jsii-srcmak-0.1.290" = {
+    "jsii-srcmak-0.1.297" = {
       name = "jsii-srcmak";
       packageName = "jsii-srcmak";
-      version = "0.1.290";
+      version = "0.1.297";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.290.tgz";
-        sha512 = "kKyb2kUBCbecbQRx467QGHUCcuCvD2gXzMNYACMgxbKLakRq3qZ3CMb8Pc8/7mnlbgU9e3suh49t8E3D6Q0yhw==";
+        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.297.tgz";
+        sha512 = "CeBsxrdz22C7j7CyO0hqlz/T6MjpeR1jKy1wY5BHyKXc8mSCoTQDuCMHnmTGg9ifiuRUbOsNSbPMiHYEq2sanQ==";
       };
     };
     "json-bigint-0.2.3" = {
@@ -33111,13 +33192,13 @@ let
         sha512 = "0/4Lv6IenJV0qj2oBdgPIAmFiKKnh8qh7bmLFJ+/ZZHLjSeiL3fKKGX3UryvKPbxFbhV+JcYo9KUC19GJ/Z/4A==";
       };
     };
-    "json2jsii-0.1.257" = {
+    "json2jsii-0.1.264" = {
       name = "json2jsii";
       packageName = "json2jsii";
-      version = "0.1.257";
+      version = "0.1.264";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json2jsii/-/json2jsii-0.1.257.tgz";
-        sha512 = "MMMMK6Oa9U3FtISKuOow6iwd/nJqk9i9C1HkkOO7AyBaD0IDhvgss3cRj37a390AVMnJKeQGWPm8whRsno/N+Q==";
+        url = "https://registry.npmjs.org/json2jsii/-/json2jsii-0.1.264.tgz";
+        sha512 = "IOe1PBV1h7feIUXO3HMRwK56TntzfEeRTMYMWwZYjRwZD6cbBS9yLsteW2fSlnhBVWkJsgZWQPP931aCulPBxw==";
       };
     };
     "json3-3.2.6" = {
@@ -33949,13 +34030,13 @@ let
         sha512 = "Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==";
       };
     };
-    "lambda-local-1.7.4" = {
+    "lambda-local-2.0.0" = {
       name = "lambda-local";
       packageName = "lambda-local";
-      version = "1.7.4";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lambda-local/-/lambda-local-1.7.4.tgz";
-        sha512 = "uLrFPGj2//glOgJGLZn8hNTNlhU+eGx0WFRLZxIoC39nfjLRZ1fncHcPK2t5gA2GcvgtGUT2dnw60M8vJAOIkQ==";
+        url = "https://registry.npmjs.org/lambda-local/-/lambda-local-2.0.0.tgz";
+        sha512 = "5Z7ZEhqVYJSm3djoq7QLDkEk7Ao+jNYbARo3nk3wtjKpgCnEbzOuraxDPDWg7OlZ4JKcsRDP+wNLeORMdbF2ow==";
       };
     };
     "last-call-webpack-plugin-3.0.0" = {
@@ -34471,6 +34552,15 @@ let
         sha512 = "bD57EjMVMBplyEMjXDMo8MvBfPymufU81kYbixqrvaLHoqsmyTMwLzqpa4CurJ5YKAXLJw68ZReDzDb6rj90Sg==";
       };
     };
+    "lightning-3.3.12" = {
+      name = "lightning";
+      packageName = "lightning";
+      version = "3.3.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lightning/-/lightning-3.3.12.tgz";
+        sha512 = "tq7AAMpjQ9sl58pW/qis/vOBzN7MCQ4F4n+ox4VQhyv1qVA+P2LgJq36I1Y6b4RX68+hK48u1eHDzSt527fEXA==";
+      };
+    };
     "lightning-3.3.9" = {
       name = "lightning";
       packageName = "lightning";
@@ -34615,13 +34705,13 @@ let
         sha512 = "04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==";
       };
     };
-    "ln-accounting-4.3.0" = {
+    "ln-accounting-4.3.1" = {
       name = "ln-accounting";
       packageName = "ln-accounting";
-      version = "4.3.0";
+      version = "4.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ln-accounting/-/ln-accounting-4.3.0.tgz";
-        sha512 = "JfnHWP6hNmA5DCx0OHq7WKwiwPKyD1lb7GPmRqg0NFr8jj9p/PNnxayfjRD2PsmA5C3OxXO53wCy1XymG4I8+Q==";
+        url = "https://registry.npmjs.org/ln-accounting/-/ln-accounting-4.3.1.tgz";
+        sha512 = "EBEeBymqktoaViGAG5aVmgIOZpWc6IwDqxq93ZYYIw+Uc9Vy/86nUDPx8A/jJC0f8lwEGcqT+hnSIiBF4SyqeA==";
       };
     };
     "ln-service-51.8.2" = {
@@ -34642,6 +34732,15 @@ let
         sha512 = "8jTfQWtdAJJ2pipprNnUrUUpMxq6wQpT1bhN+ZwyMCdHVo72r58TrFoy0UQsutbgN9OjHMHSsBoyTd5cPmUfWA==";
       };
     };
+    "ln-service-51.8.5" = {
+      name = "ln-service";
+      packageName = "ln-service";
+      version = "51.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ln-service/-/ln-service-51.8.5.tgz";
+        sha512 = "1SU0eG9/LDy6k3UGXaahmoe1wOahAJkaidWpLX5Nmlfq72I0arad420smma5ZGXAW4wNlGR/gx68KZzzYI5D4A==";
+      };
+    };
     "ln-sync-0.4.5" = {
       name = "ln-sync";
       packageName = "ln-sync";
@@ -34651,13 +34750,13 @@ let
         sha512 = "ETaASkbv5v2gcrob/xonsjy0deKSxIHfKOTfOXQicxhZed02plQ2oAUx/K3yxIhRnm7YS45Z/gYQLxUqHkI4ow==";
       };
     };
-    "ln-telegram-3.2.5" = {
+    "ln-telegram-3.2.6" = {
       name = "ln-telegram";
       packageName = "ln-telegram";
-      version = "3.2.5";
+      version = "3.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ln-telegram/-/ln-telegram-3.2.5.tgz";
-        sha512 = "odHaSJDF1asxW74D4JaoLIGkVqX5KMBDk310sPoM0LJ5Fqljjc2K/Mo+zW+NQtIyaEcFrQTH207jZy2sb4niUQ==";
+        url = "https://registry.npmjs.org/ln-telegram/-/ln-telegram-3.2.6.tgz";
+        sha512 = "8Cd/f5v8tz6v7Tu9AMss3Gn71njnfMK9FC8+wBz+LoYLwI1VRj5yS4koWf7dVXD8qsA4DU4TnqZRrGbdSODWyQ==";
       };
     };
     "load-bmfont-1.4.1" = {
@@ -36694,6 +36793,15 @@ let
         sha512 = "zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==";
       };
     };
+    "luxon-1.27.0" = {
+      name = "luxon";
+      packageName = "luxon";
+      version = "1.27.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/luxon/-/luxon-1.27.0.tgz";
+        sha512 = "VKsFsPggTA0DvnxtJdiExAucKdAnwbCCNlMM5ENvHlxubqWd0xhZcdb4XgZ7QFNhaRhilXCFxHuoObP5BNA4PA==";
+      };
+    };
     "lzma-native-6.0.1" = {
       name = "lzma-native";
       packageName = "lzma-native";
@@ -37054,13 +37162,13 @@ let
         sha512 = "34RwOXZT8kyuOJy25oJNJoulO8L0bTHYWXcdZBYZqFnjIy3NgjeoM3FmPXIOFQ26/lSHYMr8oc62B6adxXcb3Q==";
       };
     };
-    "markdown-it-12.0.6" = {
+    "markdown-it-12.1.0" = {
       name = "markdown-it";
       packageName = "markdown-it";
-      version = "12.0.6";
+      version = "12.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/markdown-it/-/markdown-it-12.0.6.tgz";
-        sha512 = "qv3sVLl4lMT96LLtR7xeRJX11OUFjsaD5oVat2/SNBIb21bJXwal2+SklcRbTwGwqWpWH/HRtYavOoJE+seL8w==";
+        url = "https://registry.npmjs.org/markdown-it/-/markdown-it-12.1.0.tgz";
+        sha512 = "7temG6IFOOxfU0SgzhqR+vr2diuMhyO5uUIEZ3C5NbXhqC9uFUHoU41USYuDFoZRsaY7BEIEei874Z20VMLF6A==";
       };
     };
     "markdown-it-8.4.2" = {
@@ -37279,13 +37387,13 @@ let
         sha512 = "c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg==";
       };
     };
-    "marked-2.1.2" = {
+    "marked-2.1.3" = {
       name = "marked";
       packageName = "marked";
-      version = "2.1.2";
+      version = "2.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/marked/-/marked-2.1.2.tgz";
-        sha512 = "ueJhIvklJJw04qxQbGIAu63EXwwOCYc7yKMBjgagTM4rjC5QtWyqSNgW7jCosV1/Km/1TUfs5qEpAqcGG0Mo5g==";
+        url = "https://registry.npmjs.org/marked/-/marked-2.1.3.tgz";
+        sha512 = "/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==";
       };
     };
     "marked-terminal-3.3.0" = {
@@ -38098,13 +38206,13 @@ let
         sha1 = "f8a064760d37e7978ad5f9f6d3c119a494f57081";
       };
     };
-    "mermaid-8.10.2" = {
+    "mermaid-8.11.0" = {
       name = "mermaid";
       packageName = "mermaid";
-      version = "8.10.2";
+      version = "8.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mermaid/-/mermaid-8.10.2.tgz";
-        sha512 = "Za5MrbAOMbEsyY4ONgGjfYz06sbwF1iNGRzp1sQqpOtvXxjxGu/J1jRJ8QyE9kD/D9zj1/KlRrYegWEvA7eZ5Q==";
+        url = "https://registry.npmjs.org/mermaid/-/mermaid-8.11.0.tgz";
+        sha512 = "c/SprR4mJ2Pj7A+3mEvva7XrhEkXQJUal7fIyOkMhOhsPX2u5gQjjm5CEhHQ6WdGsqP+yiR+Fcgnd1i8mpFK8w==";
       };
     };
     "meros-1.1.4" = {
@@ -38701,15 +38809,6 @@ let
         sha512 = "LfHUYIA047rrqIZEn0gwbqbzarU5bmZ8yZ9SizeoiPwVq5cemE3foJTJZ3pCktUq/IPkKNGghFHJk1O8149mOA==";
       };
     };
-    "minify-4.1.3" = {
-      name = "minify";
-      packageName = "minify";
-      version = "4.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minify/-/minify-4.1.3.tgz";
-        sha512 = "ykuscavxivSmVpcCzsXmsVTukWYLUUtPhHj0w2ILvHDGqC+hsuTCihBn9+PJBd58JNvWTNg9132J9nrrI2anzA==";
-      };
-    };
     "minilog-3.1.0" = {
       name = "minilog";
       packageName = "minilog";
@@ -40349,15 +40448,6 @@ let
         sha512 = "Gd1aexpJ3RrOzkssdE8ipS67PuppOAkJNhRqQPp2in2XnJKPm5kvYonYMNVadasSFlNdmVCk9nELV3TnbAfklw==";
       };
     };
-    "netlify-redirect-parser-7.0.0" = {
-      name = "netlify-redirect-parser";
-      packageName = "netlify-redirect-parser";
-      version = "7.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/netlify-redirect-parser/-/netlify-redirect-parser-7.0.0.tgz";
-        sha512 = "O+4b18XZG1Y8Jaki02T58xRFoEAXIH4qxMSlhQXd8qP5WPIicwcQKylC4fdoA2+puQzGkXvEY9Yc5jn8Zpb2pQ==";
-      };
-    };
     "netlify-redirect-parser-8.0.0" = {
       name = "netlify-redirect-parser";
       packageName = "netlify-redirect-parser";
@@ -40854,13 +40944,13 @@ let
         sha1 = "87a9065cdb355d3182d8f94ce11188b825c68a3b";
       };
     };
-    "node-ipc-9.1.4" = {
+    "node-ipc-9.2.0" = {
       name = "node-ipc";
       packageName = "node-ipc";
-      version = "9.1.4";
+      version = "9.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-ipc/-/node-ipc-9.1.4.tgz";
-        sha512 = "A+f0mn2KxUt1uRTSd5ktxQUsn2OEhj5evo7NUi/powBzMSZ0vocdzDjlq9QN2v3LH6CJi3e5xAenpZ1QwU5A8g==";
+        url = "https://registry.npmjs.org/node-ipc/-/node-ipc-9.2.0.tgz";
+        sha512 = "m4A/wueUS2PqrhM6Z8rzD1J2qvG4QG8NkKY0v3lgdntQI2NTDDL3YbfU6qkDc0RgUiA9UqZTO9CtIiDAIjrVwA==";
       };
     };
     "node-libs-browser-2.2.1" = {
@@ -41475,15 +41565,6 @@ let
         sha512 = "xXxr8y5U0kl8dVkz2oK7yZjPBvqM2fwaO5l3Yg13p03v8+E3qQcD0JNhHzjL1vyGgxcKkD0cco+NLR72iuPk3g==";
       };
     };
-    "npm-package-arg-8.1.2" = {
-      name = "npm-package-arg";
-      packageName = "npm-package-arg";
-      version = "8.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.2.tgz";
-        sha512 = "6Eem455JsSMJY6Kpd3EyWE+n5hC+g9bSyHr9K9U2zqZb7+02+hObQ2c0+8iDk/mNF+8r1MhY44WypKJAkySIYA==";
-      };
-    };
     "npm-package-arg-8.1.5" = {
       name = "npm-package-arg";
       packageName = "npm-package-arg";
@@ -41547,15 +41628,6 @@ let
         sha512 = "Qs6P6nnopig+Y8gbzpeN/dkt+n7IyVd8f45NTMotGk6Qo7GfBmzwYx6jRLoOOgKiMnaQfYxsuyQlD8Mc3guBhg==";
       };
     };
-    "npm-registry-fetch-10.1.2" = {
-      name = "npm-registry-fetch";
-      packageName = "npm-registry-fetch";
-      version = "10.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-10.1.2.tgz";
-        sha512 = "KsM/TdPmntqgBFlfsbkOLkkE9ovZo7VpVcd+/eTdYszCrgy5zFl5JzWm+OxavFaEWlbkirpkou+ZYI00RmOBFA==";
-      };
-    };
     "npm-registry-fetch-11.0.0" = {
       name = "npm-registry-fetch";
       packageName = "npm-registry-fetch";
@@ -42430,15 +42502,6 @@ let
         sha512 = "MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==";
       };
     };
-    "open-8.0.2" = {
-      name = "open";
-      packageName = "open";
-      version = "8.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/open/-/open-8.0.2.tgz";
-        sha512 = "NV5QmWJrTaNBLHABJyrb+nd5dXI5zfea/suWawBhkHzAbVhLLiJdrqMgxMypGK9Eznp2Ltoh7SAVkQ3XAucX7Q==";
-      };
-    };
     "open-8.1.0" = {
       name = "open";
       packageName = "open";
@@ -42565,13 +42628,13 @@ let
         sha512 = "Su8jA45PhegUgJnEAT15DYt2spPJgvjyTtXqg+Lw5AtGePfcQskV6ACEzsL0XPoAXIFf09Vx6sBor9pek+tl+Q==";
       };
     };
-    "openapi-sampler-1.0.1" = {
+    "openapi-sampler-1.1.0" = {
       name = "openapi-sampler";
       packageName = "openapi-sampler";
-      version = "1.0.1";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openapi-sampler/-/openapi-sampler-1.0.1.tgz";
-        sha512 = "qBjxkSLJV183zTTs4fgxtU/iWSLUUu2aH2+5ddWkNhV7p8CSe/mnAgoLkEbMfHtel6yr9NF+vjUWqfM+iiwORQ==";
+        url = "https://registry.npmjs.org/openapi-sampler/-/openapi-sampler-1.1.0.tgz";
+        sha512 = "/LhZYKNBWphLEpbAG5BdpBZbIbmLgC4vTiTj8N/MV0LF9ptmKOiJ2nETVlacNjXHt7iqDgZDELJCIoZ3q5ZG6A==";
       };
     };
     "openapi-schema-validator-3.0.3" = {
@@ -42691,13 +42754,13 @@ let
         sha512 = "ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==";
       };
     };
-    "openid-2.0.8" = {
+    "openid-2.0.9" = {
       name = "openid";
       packageName = "openid";
-      version = "2.0.8";
+      version = "2.0.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openid/-/openid-2.0.8.tgz";
-        sha512 = "ljI4GE6p4RYn9dLftlXw6TvlA+untAkoWBRpj4qIB4AJQWcDZ2lOVOJQ2tq346ok38mtGDBYRBvp3Q+AsuCBnQ==";
+        url = "https://registry.npmjs.org/openid/-/openid-2.0.9.tgz";
+        sha512 = "LzsGBHUDU2FjW/aHjB99GXxuyEPVkFyU4Ub/df3K0hYGxD1qvYu7atPORLXddCufVkcZBpgbYxdLVG8uiY0fCA==";
       };
     };
     "openpgp-4.10.10" = {
@@ -43141,13 +43204,13 @@ let
         sha512 = "BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==";
       };
     };
-    "p-debounce-1.0.0" = {
+    "p-debounce-2.1.0" = {
       name = "p-debounce";
       packageName = "p-debounce";
-      version = "1.0.0";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/p-debounce/-/p-debounce-1.0.0.tgz";
-        sha1 = "cb7f2cbeefd87a09eba861e112b67527e621e2fd";
+        url = "https://registry.npmjs.org/p-debounce/-/p-debounce-2.1.0.tgz";
+        sha512 = "M9bMt62TTnozdZhqFgs+V7XD2MnuKCaz+7fZdlu2/T7xruI3uIE5CicQ0vx1hV7HIUYF0jF+4/R1AgfOkl74Qw==";
       };
     };
     "p-defer-1.0.0" = {
@@ -43240,6 +43303,15 @@ let
         sha512 = "Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==";
       };
     };
+    "p-is-promise-3.0.0" = {
+      name = "p-is-promise";
+      packageName = "p-is-promise";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz";
+        sha512 = "Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==";
+      };
+    };
     "p-limit-1.3.0" = {
       name = "p-limit";
       packageName = "p-limit";
@@ -43591,15 +43663,6 @@ let
         sha512 = "LUL4NK7sz01jdSUdCu3z1LyphCiFdQaFouaEDsAWmJpzS0lbeNfvZoX4bi1Tm1ilzheK5VAoD96QskDCZQr+jA==";
       };
     };
-    "pacote-11.3.2" = {
-      name = "pacote";
-      packageName = "pacote";
-      version = "11.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pacote/-/pacote-11.3.2.tgz";
-        sha512 = "lMO7V9aMhyE5gfaSFxKfW3OTdXuFBNQJfuNuet3NPzWWhOYIW90t85vHcHLDjdhgmfAdAHyh9q1HAap96ea0XA==";
-      };
-    };
     "pacote-11.3.4" = {
       name = "pacote";
       packageName = "pacote";
@@ -44023,13 +44086,13 @@ let
         sha1 = "32d4b6afde631420e5f415919a222b774b575707";
       };
     };
-    "parse-url-5.0.3" = {
+    "parse-url-5.0.7" = {
       name = "parse-url";
       packageName = "parse-url";
-      version = "5.0.3";
+      version = "5.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/parse-url/-/parse-url-5.0.3.tgz";
-        sha512 = "nrLCVMJpqo12X8uUJT4GJPd5AFaTOrGx/QpJy3HNcVtq0AZSstVIsnxS5fqNPuoqMUs3MyfBoOP6Zvu2Arok5A==";
+        url = "https://registry.npmjs.org/parse-url/-/parse-url-5.0.7.tgz";
+        sha512 = "CgbjyWT6aOh2oNSUS0cioYQsGysj9hQ2IdbOfeNwq5KOaKM7dOw/yTupiI0cnJhaDHJEIGybPkQz7LF9WNIhyw==";
       };
     };
     "parse5-1.5.1" = {
@@ -44248,13 +44311,13 @@ let
         sha1 = "1fe63268c92e75606626437e3b906662c15ba6ee";
       };
     };
-    "passport-oauth2-1.5.0" = {
+    "passport-oauth2-1.6.0" = {
       name = "passport-oauth2";
       packageName = "passport-oauth2";
-      version = "1.5.0";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/passport-oauth2/-/passport-oauth2-1.5.0.tgz";
-        sha512 = "kqBt6vR/5VlCK8iCx1/KpY42kQ+NEHZwsSyt4Y6STiNjU+wWICG1i8ucc1FapXDGO15C5O5VZz7+7vRzrDPXXQ==";
+        url = "https://registry.npmjs.org/passport-oauth2/-/passport-oauth2-1.6.0.tgz";
+        sha512 = "emXPLqLcVEcLFR/QvQXZcwLmfK8e9CqvMgmOFJxcNT3okSFMtUbRRKpY20x5euD+01uHsjjCa07DYboEeLXYiw==";
       };
     };
     "passport-oauth2-client-password-0.1.2" = {
@@ -45004,6 +45067,15 @@ let
         sha512 = "NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==";
       };
     };
+    "pkg-fetch-3.1.1" = {
+      name = "pkg-fetch";
+      packageName = "pkg-fetch";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pkg-fetch/-/pkg-fetch-3.1.1.tgz";
+        sha512 = "3GfpNwbwoTxge2TrVp6Oyz/FZJOoxF1r0+1YikOhnBXa2Di/VOJKtUObFHap76BFnyFo1fwh5vARWFR9TzLKUg==";
+      };
+    };
     "pkg-up-2.0.0" = {
       name = "pkg-up";
       packageName = "pkg-up";
@@ -46040,6 +46112,15 @@ let
         sha512 = "s8Aai8++QQGi4sSbs/M1Qku62PFK49Jm1CbgXklGz4nmHveDq0wzJkg7Na5QbnO1uNH8K7iqx2EQ/mV0MZEmOg==";
       };
     };
+    "prebuild-install-6.0.1" = {
+      name = "prebuild-install";
+      packageName = "prebuild-install";
+      version = "6.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.0.1.tgz";
+        sha512 = "7GOJrLuow8yeiyv75rmvZyeMGzl8mdEX5gY69d6a6bHWmiPevwqFw+tQavhK0EYMaSg3/KD24cWqeQv1EWsqDQ==";
+      };
+    };
     "prebuild-install-6.1.3" = {
       name = "prebuild-install";
       packageName = "prebuild-install";
@@ -46157,13 +46238,13 @@ let
         sha512 = "kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==";
       };
     };
-    "prettier-2.3.1" = {
+    "prettier-2.3.2" = {
       name = "prettier";
       packageName = "prettier";
-      version = "2.3.1";
+      version = "2.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prettier/-/prettier-2.3.1.tgz";
-        sha512 = "p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA==";
+        url = "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz";
+        sha512 = "lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==";
       };
     };
     "prettier-bytes-1.0.4" = {
@@ -46400,13 +46481,13 @@ let
         sha512 = "dG2w7WtovUa4SiYTdWn9H8Bd4JNdei2djtkP/Bk9fXq81j5Q15ZPHYSwhUVvBRbp5zMkGtu0Yk62HuMcly0pRw==";
       };
     };
-    "prismjs-1.23.0" = {
+    "prismjs-1.24.0" = {
       name = "prismjs";
       packageName = "prismjs";
-      version = "1.23.0";
+      version = "1.24.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prismjs/-/prismjs-1.23.0.tgz";
-        sha512 = "c29LVsqOaLbBHuIbsTxaKENh1N2EQBOHaWv7gkHN4dgRbxSREqDnDbtFJYdpPauS4YCplMSNCABQ6Eeor69bAA==";
+        url = "https://registry.npmjs.org/prismjs/-/prismjs-1.24.0.tgz";
+        sha512 = "SqV5GRsNqnzCL8k5dfAjCNhUrF3pR0A9lTDSCUZeh/LIshheXJEaP0hwLz2t4XHivd2J/v2HR+gRnigzeKe3cQ==";
       };
     };
     "private-0.1.8" = {
@@ -46517,6 +46598,24 @@ let
         sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==";
       };
     };
+    "process-utils-2.6.0" = {
+      name = "process-utils";
+      packageName = "process-utils";
+      version = "2.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/process-utils/-/process-utils-2.6.0.tgz";
+        sha512 = "2zKFADQDvHiUDyJQTsBTdu1+Q2D/WtReBotZwXmD9oUueb0kNv4rXulK/78hMM+nclBNFZ/ZlHOJtobt8oHpqQ==";
+      };
+    };
+    "process-utils-4.0.0" = {
+      name = "process-utils";
+      packageName = "process-utils";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/process-utils/-/process-utils-4.0.0.tgz";
+        sha512 = "fMyMQbKCxX51YxR7YGCzPjLsU3yDzXFkP4oi1/Mt5Ixnk7GO/7uUTj8mrCHUwuvozWzI+V7QSJR9cZYnwNOZPg==";
+      };
+    };
     "progress-1.1.8" = {
       name = "progress";
       packageName = "progress";
@@ -47885,22 +47984,13 @@ let
         sha512 = "l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==";
       };
     };
-    "puppeteer-10.0.0" = {
+    "puppeteer-10.1.0" = {
       name = "puppeteer";
       packageName = "puppeteer";
-      version = "10.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/puppeteer/-/puppeteer-10.0.0.tgz";
-        sha512 = "AxHvCb9IWmmP3gMW+epxdj92Gglii+6Z4sb+W+zc2hTTu10HF0yg6hGXot5O74uYkVqG3lfDRLfnRpi6WOwi5A==";
-      };
-    };
-    "puppeteer-8.0.0" = {
-      name = "puppeteer";
-      packageName = "puppeteer";
-      version = "8.0.0";
+      version = "10.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/puppeteer/-/puppeteer-8.0.0.tgz";
-        sha512 = "D0RzSWlepeWkxPPdK3xhTcefj8rjah1791GE82Pdjsri49sy11ci/JQsAO8K2NRukqvwEtcI+ImP5F4ZiMvtIQ==";
+        url = "https://registry.npmjs.org/puppeteer/-/puppeteer-10.1.0.tgz";
+        sha512 = "bsyDHbFBvbofZ63xqF7hMhuKBX1h4WsqFIAoh1GuHr/Y9cewh+EFNAOdqWSkQRHLiBU/MY6M+8PUnXXjAPtuSg==";
       };
     };
     "purgecss-2.3.0" = {
@@ -47948,13 +48038,13 @@ let
         sha1 = "15931d3cd967ade52206f523aa7331aef7d43af7";
       };
     };
-    "pyright-1.1.151" = {
+    "pyright-1.1.154" = {
       name = "pyright";
       packageName = "pyright";
-      version = "1.1.151";
+      version = "1.1.154";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pyright/-/pyright-1.1.151.tgz";
-        sha512 = "R/Zr6VqXghuFLm7y3a8HoCrA+mfy+Zp+mp6P8gFZeJO9Rl1kQLJhfc/y4QKSQHZWxXOBGo+AFDi/rWLZfNBEgQ==";
+        url = "https://registry.npmjs.org/pyright/-/pyright-1.1.154.tgz";
+        sha512 = "J2P5Iurkl7smCyB8CH5fsm8GOGeKRk7d1HWcFiro94E0vJW/5sSKXrkfjPxo7XZ+e96UiW1qyiVTCC++db3Tfg==";
       };
     };
     "q-0.9.7" = {
@@ -50594,13 +50684,13 @@ let
         sha1 = "6f697e50a0e4ddc8c8f7fb547a9b60dead43678d";
       };
     };
-    "retry-request-4.1.3" = {
+    "retry-request-4.2.1" = {
       name = "retry-request";
       packageName = "retry-request";
-      version = "4.1.3";
+      version = "4.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/retry-request/-/retry-request-4.1.3.tgz";
-        sha512 = "QnRZUpuPNgX0+D1xVxul6DbJ9slvo4Rm6iV/dn63e048MvGbUZiKySVt6Tenp04JqmchxjiLltGerOJys7kJYQ==";
+        url = "https://registry.npmjs.org/retry-request/-/retry-request-4.2.1.tgz";
+        sha512 = "afiCoZZ7D/AR2mf+9ajr75dwGFgWmPEshv3h+oKtf9P1AsHfHvcVXumdbAEq2qNy4UXFEXsEX5HpyGj4axvoaA==";
       };
     };
     "reusify-1.0.4" = {
@@ -50801,13 +50891,13 @@ let
         sha512 = "/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==";
       };
     };
-    "rollup-2.52.2" = {
+    "rollup-2.52.7" = {
       name = "rollup";
       packageName = "rollup";
-      version = "2.52.2";
+      version = "2.52.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rollup/-/rollup-2.52.2.tgz";
-        sha512 = "4RlFC3k2BIHlUsJ9mGd8OO+9Lm2eDF5P7+6DNQOp5sx+7N/1tFM01kELfbxlMX3MxT6owvLB1ln4S3QvvQlbUA==";
+        url = "https://registry.npmjs.org/rollup/-/rollup-2.52.7.tgz";
+        sha512 = "55cSH4CCU6MaPr9TAOyrIC+7qFCHscL7tkNsm1MBfIJRRqRbCEY0mmeFn4Wg8FKsHtEH8r389Fz38r/o+kgXLg==";
       };
     };
     "rollup-plugin-babel-4.4.0" = {
@@ -51503,15 +51593,6 @@ let
         sha512 = "e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==";
       };
     };
-    "select-1.1.2" = {
-      name = "select";
-      packageName = "select";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/select/-/select-1.1.2.tgz";
-        sha1 = "0e7350acdec80b1108528786ec1d4418d11b396d";
-      };
-    };
     "select-hose-2.0.0" = {
       name = "select-hose";
       packageName = "select-hose";
@@ -51863,6 +51944,15 @@ let
         sha512 = "SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==";
       };
     };
+    "serialize-javascript-6.0.0" = {
+      name = "serialize-javascript";
+      packageName = "serialize-javascript";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz";
+        sha512 = "Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==";
+      };
+    };
     "serialize-to-js-3.1.1" = {
       name = "serialize-to-js";
       packageName = "serialize-to-js";
@@ -52970,13 +53060,13 @@ let
         sha512 = "XYjhOTRPFA7NfDUsH6uH1fbML2OgSFsqdUPbud7x01urNP9CHXgUgAD4NhKMi3dVQK+7IdYadWt0wrFWw4y+qg==";
       };
     };
-    "snyk-python-plugin-1.19.9" = {
+    "snyk-python-plugin-1.19.11" = {
       name = "snyk-python-plugin";
       packageName = "snyk-python-plugin";
-      version = "1.19.9";
+      version = "1.19.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-python-plugin/-/snyk-python-plugin-1.19.9.tgz";
-        sha512 = "vkqBJP+wOtrBKpqrFRP5EfAs5wZ/fGNI14Mb+EMnmu+ebP1ze9AnHxfiqMl/+ITzeYElZ2H5DX9sXXiqpJRhRg==";
+        url = "https://registry.npmjs.org/snyk-python-plugin/-/snyk-python-plugin-1.19.11.tgz";
+        sha512 = "zUKbSbw+wU1FCUDYt+IDjaES0pc1UKBECOqjHSJMxWm9VhstvPtI4KccetwOfne2oUcmaEJJvcEp4s9VTK04XQ==";
       };
     };
     "snyk-resolve-1.1.0" = {
@@ -52997,13 +53087,13 @@ let
         sha512 = "Bmtr7QdRL2b3Js+mPDmvXbkprOpzO8aUFXqR0nJKAOlUVQqZ84yiuT0n/mssEiJJ0vP+k0kZvTeiTwgio4KZRg==";
       };
     };
-    "snyk-sbt-plugin-2.11.0" = {
+    "snyk-sbt-plugin-2.11.1" = {
       name = "snyk-sbt-plugin";
       packageName = "snyk-sbt-plugin";
-      version = "2.11.0";
+      version = "2.11.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-sbt-plugin/-/snyk-sbt-plugin-2.11.0.tgz";
-        sha512 = "wUqHLAa3MzV6sVO+05MnV+lwc+T6o87FZZaY+43tQPytBI2Wq23O3j4POREM4fa2iFfiQJoEYD6c7xmhiEUsSA==";
+        url = "https://registry.npmjs.org/snyk-sbt-plugin/-/snyk-sbt-plugin-2.11.1.tgz";
+        sha512 = "WKSV4MivovUHqdD2EYrkCuESjVLSbtsKpNnHeDCRIvv/GZ7YkvDsDqRLBUzDl6SvhGzaCv9rwEVUl+ZwJITL1w==";
       };
     };
     "snyk-tree-1.0.0" = {
@@ -53924,13 +54014,13 @@ let
         sha512 = "VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==";
       };
     };
-    "sprintf-kit-2.0.0" = {
+    "sprintf-kit-2.0.1" = {
       name = "sprintf-kit";
       packageName = "sprintf-kit";
-      version = "2.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sprintf-kit/-/sprintf-kit-2.0.0.tgz";
-        sha512 = "/0d2YTn8ZFVpIPAU230S9ZLF8WDkSSRWvh/UOLM7zzvkCchum1TtouRgyV8OfgOaYilSGU4lSSqzwBXJVlAwUw==";
+        url = "https://registry.npmjs.org/sprintf-kit/-/sprintf-kit-2.0.1.tgz";
+        sha512 = "2PNlcs3j5JflQKcg4wpdqpZ+AjhQJ2OZEo34NXDtlB0tIPG84xaaXhpA8XFacFiwjKA4m49UOYG83y3hbMn/gQ==";
       };
     };
     "sqlite3-5.0.0" = {
@@ -54041,13 +54131,13 @@ let
         sha512 = "pJAFizB6OcuJLX4RJJuU9HWyPwM2CqLi/vs08lhVIR3TGxacxpavvK5LzbxT+Y3iWkBchOTKS5hHCigA5aaung==";
       };
     };
-    "ssb-db2-2.1.3" = {
+    "ssb-db2-2.1.4" = {
       name = "ssb-db2";
       packageName = "ssb-db2";
-      version = "2.1.3";
+      version = "2.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-db2/-/ssb-db2-2.1.3.tgz";
-        sha512 = "neA96dzAzxuH5/btqtbZ3h3RoWVdAT4b8rJrK/oZPfaOHMkQHL75IBuviTqkgfXoMqx1exegt4AI4bVroCJPmg==";
+        url = "https://registry.npmjs.org/ssb-db2/-/ssb-db2-2.1.4.tgz";
+        sha512 = "r70wOz0taaIgpFX/I1DbzT1mucfLSHMmXfNMaenmLcrV6vDZFyFvZVyQTn26xgv7JwDkrdD9B/1Y85AH0qjYow==";
       };
     };
     "ssb-ebt-5.6.7" = {
@@ -54320,13 +54410,13 @@ let
         sha512 = "zZ/Q1M+9ZWlrchgh4QauD/MEUFa6eC6H6FYq6T8Of/y82JqsQBLwN6YlzbO09evE7Rx6x0oliXDCnQSjwGwQRA==";
       };
     };
-    "sscaff-1.2.10" = {
+    "sscaff-1.2.17" = {
       name = "sscaff";
       packageName = "sscaff";
-      version = "1.2.10";
+      version = "1.2.17";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sscaff/-/sscaff-1.2.10.tgz";
-        sha512 = "okh9hLxPkZl22XpK+4rLOnR3SHG2hEI92KKevDI8e6wZPIP5Dgsxx8RQUogdm3/a87kgyoWaCoOABekYIeXx9g==";
+        url = "https://registry.npmjs.org/sscaff/-/sscaff-1.2.17.tgz";
+        sha512 = "0QF6J4B6lJKXKuUdiRDm576Ix1nVO3hdiHZYwEQJujcshJriHnny8kpOch1L6VykLPifg2g3hkHKas6WuNkqsg==";
       };
     };
     "ssh-config-1.1.6" = {
@@ -54824,6 +54914,15 @@ let
         sha512 = "y+ChhCov2A5nDqC2aZ6HKXs3OvDlvAp0Ps3BF1P/Iv8tUZJQQsMVaSzk0WryVTVoGITKv01UYahCXMpAs7I0lQ==";
       };
     };
+    "stream-meter-1.0.4" = {
+      name = "stream-meter";
+      packageName = "stream-meter";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream-meter/-/stream-meter-1.0.4.tgz";
+        sha1 = "52af95aa5ea760a2491716704dbff90f73afdd1d";
+      };
+    };
     "stream-parser-0.3.1" = {
       name = "stream-parser";
       packageName = "stream-parser";
@@ -56111,13 +56210,13 @@ let
         sha512 = "xk5CMbwoQVI53rTq9o/iMojAqXP5NT4/+TMeTP4uXWDIH18pB9AXgO5Olqt0RXuf3jH032DA4DS4qzem6XdXAw==";
       };
     };
-    "swagger-ui-dist-3.50.0" = {
+    "swagger-ui-dist-3.51.1" = {
       name = "swagger-ui-dist";
       packageName = "swagger-ui-dist";
-      version = "3.50.0";
+      version = "3.51.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.50.0.tgz";
-        sha512 = "BklniOBPlvZ6M9oGkhUwOf5HvxhkHBIycXN3ndju8WlLmi1xfMSdOA2AR6pNswlwURzsZUe1rh80aUyjnpD+Zw==";
+        url = "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.51.1.tgz";
+        sha512 = "df2mEeVgnJp/FcXY3DRh3CsTfvHVTaO6g3FJP/kfwhxfOD1+YTXqBZrOIIsYTPtcRIFBkCAto0NFCxAV4XFRbw==";
       };
     };
     "swagger2openapi-7.0.7" = {
@@ -56796,13 +56895,13 @@ let
         sha512 = "EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==";
       };
     };
-    "terser-5.7.0" = {
+    "terser-5.7.1" = {
       name = "terser";
       packageName = "terser";
-      version = "5.7.0";
+      version = "5.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/terser/-/terser-5.7.0.tgz";
-        sha512 = "HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g==";
+        url = "https://registry.npmjs.org/terser/-/terser-5.7.1.tgz";
+        sha512 = "b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg==";
       };
     };
     "terser-webpack-plugin-1.4.5" = {
@@ -56832,13 +56931,13 @@ let
         sha512 = "3qAQpykRTD5DReLu5/cwpsg7EZFzP3Q0Hp2XUWJUw2mpq2jfgOKTZr8IZKKnNieRVVo1UauROTdhbQJZveGKtQ==";
       };
     };
-    "terser-webpack-plugin-5.1.3" = {
+    "terser-webpack-plugin-5.1.4" = {
       name = "terser-webpack-plugin";
       packageName = "terser-webpack-plugin";
-      version = "5.1.3";
+      version = "5.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.3.tgz";
-        sha512 = "cxGbMqr6+A2hrIB5ehFIF+F/iST5ZOxvOmy9zih9ySbP1C2oEWQSOUS+2SNBTjzx5xLKO4xnod9eywdfq1Nb9A==";
+        url = "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.4.tgz";
+        sha512 = "C2WkFwstHDhVEmsmlCxrXUtVklS+Ir1A7twrYzrDrQQOIMOaVAYykaoo/Aq1K0QRkMoY2hhvDQY1cm4jnIMFwA==";
       };
     };
     "test-exclude-6.0.0" = {
@@ -58083,15 +58182,6 @@ let
         sha1 = "405923909592d56f78a5818434b0b78489ca5f2b";
       };
     };
-    "try-catch-2.0.1" = {
-      name = "try-catch";
-      packageName = "try-catch";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/try-catch/-/try-catch-2.0.1.tgz";
-        sha512 = "LsOrmObN/2WdM+y2xG+t16vhYrQsnV8wftXIcIOWZhQcBJvKGYuamJGwnU98A7Jxs2oZNkJztXlphEOoA0DWqg==";
-      };
-    };
     "try-resolve-1.0.1" = {
       name = "try-resolve";
       packageName = "try-resolve";
@@ -58101,15 +58191,6 @@ let
         sha1 = "cfde6fabd72d63e5797cfaab873abbe8e700e912";
       };
     };
-    "try-to-catch-1.1.1" = {
-      name = "try-to-catch";
-      packageName = "try-to-catch";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/try-to-catch/-/try-to-catch-1.1.1.tgz";
-        sha512 = "ikUlS+/BcImLhNYyIgZcEmq4byc31QpC+46/6Jm5ECWkVFhf8SM2Fp/0pMVXPX6vk45SMCwrP4Taxucne8I0VA==";
-      };
-    };
     "tryer-1.0.1" = {
       name = "tryer";
       packageName = "tryer";
@@ -58713,13 +58794,13 @@ let
         sha512 = "7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==";
       };
     };
-    "typegram-3.3.1" = {
+    "typegram-3.4.0" = {
       name = "typegram";
       packageName = "typegram";
-      version = "3.3.1";
+      version = "3.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typegram/-/typegram-3.3.1.tgz";
-        sha512 = "Y1bR17IZ9Shj1Ih8wTLtrmOOMHJ20ve0Bd5SPymmw53uO4WLp/JjNM55s2b6PEziBvMISRdCQSZ+m6JiUKEobA==";
+        url = "https://registry.npmjs.org/typegram/-/typegram-3.4.0.tgz";
+        sha512 = "GUE1LV3LJruTThJaUBUvTnaEpTswFhuxhEx9LaVLIA6WRw9CdPQmb87OIA0rCvoMSPBC8gZiHrrPqX9VJGDXwQ==";
       };
     };
     "typescript-2.9.2" = {
@@ -58785,13 +58866,13 @@ let
         sha512 = "qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw==";
       };
     };
-    "typescript-4.3.4" = {
+    "typescript-4.3.5" = {
       name = "typescript";
       packageName = "typescript";
-      version = "4.3.4";
+      version = "4.3.5";
       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.3.5.tgz";
+        sha512 = "DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==";
       };
     };
     "typescript-eslint-parser-16.0.1" = {
@@ -58884,22 +58965,22 @@ let
         sha1 = "29c5733148057bb4e1f75df35b7a9cb72e6a59dd";
       };
     };
-    "uglify-js-3.13.3" = {
+    "uglify-js-3.13.10" = {
       name = "uglify-js";
       packageName = "uglify-js";
-      version = "3.13.3";
+      version = "3.13.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.3.tgz";
-        sha512 = "otIc7O9LyxpUcQoXzj2hL4LPWKklO6LJWoJUzNa8A17Xgi4fOeDC8FBDOLHnC/Slo1CQgsZMcM6as0M76BZaig==";
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.10.tgz";
+        sha512 = "57H3ACYFXeo1IaZ1w02sfA71wI60MGco/IQFjOqK+WtKoprh7Go2/yvd2HPtoJILO2Or84ncLccI4xoHMTSbGg==";
       };
     };
-    "uglify-js-3.13.9" = {
+    "uglify-js-3.13.3" = {
       name = "uglify-js";
       packageName = "uglify-js";
-      version = "3.13.9";
+      version = "3.13.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.9.tgz";
-        sha512 = "wZbyTQ1w6Y7fHdt8sJnHfSIuWeDgk6B5rCb4E/AM6QNNPbOMIZph21PW5dRB3h7Df0GszN+t7RuUH6sWK5bF0g==";
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.3.tgz";
+        sha512 = "otIc7O9LyxpUcQoXzj2hL4LPWKklO6LJWoJUzNa8A17Xgi4fOeDC8FBDOLHnC/Slo1CQgsZMcM6as0M76BZaig==";
       };
     };
     "uglify-js-3.4.10" = {
@@ -59289,13 +59370,13 @@ let
         sha512 = "JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==";
       };
     };
-    "unified-9.2.1" = {
+    "unified-9.2.2" = {
       name = "unified";
       packageName = "unified";
-      version = "9.2.1";
+      version = "9.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unified/-/unified-9.2.1.tgz";
-        sha512 = "juWjuI8Z4xFg8pJbnEZ41b5xjGUWGHqXALmBZ3FC3WX0PIx1CZBIIJ6mXbYMcf6Yw4Fi0rFUTA1cdz/BglbOhA==";
+        url = "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz";
+        sha512 = "Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==";
       };
     };
     "unified-diff-3.1.0" = {
@@ -59316,13 +59397,13 @@ let
         sha512 = "iDJYH82TgcezQA4IZzhCNJQx7vBsGk4h9s4Q7Fscrb3qcPsxBqVrVNYez2W3sBVTxuU1bFAhyRpA6ba/R4j93A==";
       };
     };
-    "unified-engine-8.1.0" = {
+    "unified-engine-8.2.0" = {
       name = "unified-engine";
       packageName = "unified-engine";
-      version = "8.1.0";
+      version = "8.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unified-engine/-/unified-engine-8.1.0.tgz";
-        sha512 = "ptXTWUf9HZ2L9xto7tre+hSdSN7M9S0rypUpMAcFhiDYjrXLrND4If+8AZOtPFySKI/Zhfxf7GVAR34BqixDUA==";
+        url = "https://registry.npmjs.org/unified-engine/-/unified-engine-8.2.0.tgz";
+        sha512 = "ZlMm62ejrf+tJHdyOjQfljszngQjRor95q2XZMGk6rpJUYi7ZIHY/EXEhOcj9PZkMKKdLIM+dqL4s0ceyk9wbA==";
       };
     };
     "unified-message-control-3.0.3" = {
@@ -60451,13 +60532,13 @@ let
         sha512 = "vRAKaS8WcYNgzbxyH2LdheqgL4sQLis8LXl7r/mN+O4mpWlUpoCsTtietxepLrft2q0TFA2gaIvSWN1iRkzW/w==";
       };
     };
-    "utp-native-2.5.1" = {
+    "utp-native-2.5.3" = {
       name = "utp-native";
       packageName = "utp-native";
-      version = "2.5.1";
+      version = "2.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/utp-native/-/utp-native-2.5.1.tgz";
-        sha512 = "wbrJwR8DZx8N9s1ffTcMuBK7tMBQ9tvKpIL+mWHrDvGUYfV7ivroEGFTXUr4meqy/PVbUdMfURSoBbwuGtt/YQ==";
+        url = "https://registry.npmjs.org/utp-native/-/utp-native-2.5.3.tgz";
+        sha512 = "sWTrWYXPhhWJh+cS2baPzhaZc89zwlWCfwSthUjGhLkZztyPhcQllo+XVVCbNGi7dhyRlxkWxN4NKU6FbA9Y8w==";
       };
     };
     "uuid-2.0.3" = {
@@ -61504,13 +61585,13 @@ let
         sha512 = "QxI+qV97uD7HHOCjh3MrM1TfbdwmTXrMckri5Tus1/FQiG3baDZb2C9Y0y8QThs7PwHYBIQXcAc59ZveCRZKPA==";
       };
     };
-    "vscode-json-languageservice-4.1.4" = {
+    "vscode-json-languageservice-4.1.5" = {
       name = "vscode-json-languageservice";
       packageName = "vscode-json-languageservice";
-      version = "4.1.4";
+      version = "4.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.1.4.tgz";
-        sha512 = "/UqaE58BVFdePM9l971L6xPRLlCLNk01aovf1Pp9hB/8pytmd2s9ZNEnS1JqYyQEJ1k5/fEBsWOdhQlNo4H7VA==";
+        url = "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.1.5.tgz";
+        sha512 = "oRVPj2UY6BQ8PQ1LIz/FigUEZQVqsB9msNCFlxRBHE9sSEIJkCbYG6aCB2n7WR17VIisYQdO3MDheuoyI48G2w==";
       };
     };
     "vscode-jsonrpc-3.5.0" = {
@@ -61990,13 +62071,13 @@ let
         sha512 = "8FdXi0gieEwh1IprIBafpiJWcApwrU+l2FEj8c1HtHFdNXMd0+2jUSjBVmcQYohf/E72irwAXEXLga6TQcB3FA==";
       };
     };
-    "vue-eslint-parser-7.6.0" = {
+    "vue-eslint-parser-7.7.1" = {
       name = "vue-eslint-parser";
       packageName = "vue-eslint-parser";
-      version = "7.6.0";
+      version = "7.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.6.0.tgz";
-        sha512 = "QXxqH8ZevBrtiZMZK0LpwaMfevQi9UL7lY6Kcp+ogWHC88AuwUPwwCIzkOUc1LR4XsYAt/F9yHXAB/QoD17QXA==";
+        url = "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.7.1.tgz";
+        sha512 = "rUGUCKH5rSGTvF9QlxYXi6MyoSATcrTbLwiCqFuFRhaSJLlDYBmsXJ08xIZoLdsUl/OfCC1ibnkj7SWHRTrStQ==";
       };
     };
     "vue-onsenui-helper-json-1.0.2" = {
@@ -62224,13 +62305,13 @@ let
         sha512 = "n1CfuJcJ+dynIx/fmavB6haPx37N3GZvY5HIGIselymDiSwNRC+8pAxOzoB4eVwUBJnbP3+aA8vWttrAZbgs7A==";
       };
     };
-    "web3-utils-1.3.6" = {
+    "web3-utils-1.4.0" = {
       name = "web3-utils";
       packageName = "web3-utils";
-      version = "1.3.6";
+      version = "1.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/web3-utils/-/web3-utils-1.3.6.tgz";
-        sha512 = "hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==";
+        url = "https://registry.npmjs.org/web3-utils/-/web3-utils-1.4.0.tgz";
+        sha512 = "b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q==";
       };
     };
     "webassemblyjs-1.11.0" = {
@@ -62314,13 +62395,13 @@ let
         sha512 = "1xllYVmA4dIvRjHzwELgW4KjIU1fW4PEuEnjsylz7k7H5HgPOctIq7W1jrt3sKH9yG5d72//XWzsHhfoWvsQVg==";
       };
     };
-    "webpack-5.40.0" = {
+    "webpack-5.42.0" = {
       name = "webpack";
       packageName = "webpack";
-      version = "5.40.0";
+      version = "5.42.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack/-/webpack-5.40.0.tgz";
-        sha512 = "c7f5e/WWrxXWUzQqTBg54vBs5RgcAgpvKE4F4VegVgfo4x660ZxYUF2/hpMkZUnLjgytVTitjeXaN4IPlXCGIw==";
+        url = "https://registry.npmjs.org/webpack/-/webpack-5.42.0.tgz";
+        sha512 = "Ln8HL0F831t1x/yPB/qZEUVmZM4w9BnHZ1EQD/sAUHv8m22hthoPniWTXEzFMh/Sf84mhrahut22TX5KxWGuyQ==";
       };
     };
     "webpack-bundle-analyzer-3.9.0" = {
@@ -62512,13 +62593,13 @@ let
         sha512 = "OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==";
       };
     };
-    "webtorrent-1.0.1" = {
+    "webtorrent-1.1.0" = {
       name = "webtorrent";
       packageName = "webtorrent";
-      version = "1.0.1";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-1.0.1.tgz";
-        sha512 = "A0l8T7iRJ+Cc/TUQqPAX/7hemrEEfIimaRiEYMTPAs1TM99Yd5tfKe00jTkjmI6a0nqx7d7+r5GgXSO/uFs7GA==";
+        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-1.1.0.tgz";
+        sha512 = "v5TS7MXmNRJqTWv7+a2wE4KGGZI/RyG4XpxWb1oJ4/CwpQaO5mJ5UA6Aj9unVbgEMLpyIy4xcHgOjE82wpyeUQ==";
       };
     };
     "well-known-symbols-2.0.0" = {
@@ -62575,13 +62656,13 @@ let
         sha512 = "WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==";
       };
     };
-    "whatwg-url-8.6.0" = {
+    "whatwg-url-8.7.0" = {
       name = "whatwg-url";
       packageName = "whatwg-url";
-      version = "8.6.0";
+      version = "8.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.6.0.tgz";
-        sha512 = "os0KkeeqUOl7ccdDT1qqUcS4KH4tcBTSKK5Nl5WKb2lyxInIZ/CpjkqKa1Ss12mjfdcRX9mHmPPs7/SxG1Hbdw==";
+        url = "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz";
+        sha512 = "gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==";
       };
     };
     "whatwg-url-compat-0.6.5" = {
@@ -63466,6 +63547,15 @@ let
         sha512 = "6ezXvzOZupqKj4jUqbQ9tXuJNo+BR2gU8fFRk3XCP3e0G6WT414u5ELe6Y0vtp7kmSJ3F7YWObSNr1ESsgi4vw==";
       };
     };
+    "ws-7.5.1" = {
+      name = "ws";
+      packageName = "ws";
+      version = "7.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ws/-/ws-7.5.1.tgz";
+        sha512 = "2c6faOUH/nhoQN6abwMloF7Iyl0ZS2E9HGtsiLrWn0zOOMWlhtDmdf/uihDt6jnuCxgtwGBNy6Onsoy2s2O2Ow==";
+      };
+    };
     "x-default-browser-0.3.1" = {
       name = "x-default-browser";
       packageName = "x-default-browser";
@@ -63547,13 +63637,13 @@ let
         sha512 = "N1XQngeqMBoj9wM4ZFadVV2MymImeiFfYD+fJrNlcVcOHsJFFQe7n3b+aBoTPwARuq2HQxukfzVpQmAk1gN4sQ==";
       };
     };
-    "xdl-59.0.44" = {
+    "xdl-59.0.47" = {
       name = "xdl";
       packageName = "xdl";
-      version = "59.0.44";
+      version = "59.0.47";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xdl/-/xdl-59.0.44.tgz";
-        sha512 = "p9zwI5w0juiKdq5v0tIYojyqpomhMWg7C3W1tILSE48aPdkNgOlatSgAPJ9qbjBha6berKYtdOnpnfyEYOAtWQ==";
+        url = "https://registry.npmjs.org/xdl/-/xdl-59.0.47.tgz";
+        sha512 = "y6oA1/0RAOQ0pVl2nxRE40r/YUCPGcg+JS9mEiKDYZo6U8bIYhWx/X1gdBwvzzDOjfDZV34ls0fyTgLjeq0Xvg==";
       };
     };
     "xenvar-0.5.1" = {
@@ -63953,13 +64043,13 @@ let
         sha512 = "2t7FahYnGJys6DpHLhajusId7R0Pm2yTmuL0GV9+mV0ZlaLSnb2toBmppATfg5sWIhZQGlsTLoecSzya+l4EAQ==";
       };
     };
-    "xstate-4.20.0" = {
+    "xstate-4.20.2" = {
       name = "xstate";
       packageName = "xstate";
-      version = "4.20.0";
+      version = "4.20.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xstate/-/xstate-4.20.0.tgz";
-        sha512 = "u5Ou1CMo/oWApasmv1TYTHgj38k69DJdTqQdBBwt+/ooNhPJQiSIKTB3Y3HvX0h5tulwfSo6xAwZgBgjRsK3LA==";
+        url = "https://registry.npmjs.org/xstate/-/xstate-4.20.2.tgz";
+        sha512 = "HvU+NCYffTOC1oiopNKve3IdLNRpuvNa3tv+fhM8mo9+TGCF35wIMQJON7bWG/2041ySBKw78PW2goV+Ug073w==";
       };
     };
     "xstream-11.14.0" = {
@@ -64616,30 +64706,30 @@ in
   "@angular/cli" = nodeEnv.buildNodePackage {
     name = "_at_angular_slash_cli";
     packageName = "@angular/cli";
-    version = "12.0.5";
+    version = "12.1.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@angular/cli/-/cli-12.0.5.tgz";
-      sha512 = "MdgJ9DY3bWYsMFr9Xa+60gtVaYErhAE8ULGnUyI8zLMhWqrV1ZpJJ1WfP8pMQYx4HaKJIgx7wd8az7ZXAcF8hg==";
+      url = "https://registry.npmjs.org/@angular/cli/-/cli-12.1.1.tgz";
+      sha512 = "rQZItn3kpYEX6tH7wquAEhJuxVpW6sYKO2tSi8Suxrm+iz1RPRnfhSwS1WIEumnwpFRtH/8P+lOrScax1ldYkg==";
     };
     dependencies = [
-      sources."@angular-devkit/architect-0.1200.5"
-      sources."@angular-devkit/core-12.0.5"
-      sources."@angular-devkit/schematics-12.0.5"
+      sources."@angular-devkit/architect-0.1201.1"
+      sources."@angular-devkit/core-12.1.1"
+      sources."@angular-devkit/schematics-12.1.1"
       sources."@npmcli/git-2.1.0"
       sources."@npmcli/installed-package-contents-1.0.7"
       sources."@npmcli/move-file-1.1.2"
       sources."@npmcli/node-gyp-1.0.2"
       sources."@npmcli/promise-spawn-1.3.2"
       sources."@npmcli/run-script-1.8.5"
-      sources."@schematics/angular-12.0.5"
+      sources."@schematics/angular-12.1.1"
       sources."@tootallnate/once-1.1.2"
       sources."@yarnpkg/lockfile-1.1.0"
       sources."abbrev-1.1.1"
       sources."agent-base-6.0.2"
       sources."agentkeepalive-4.1.4"
       sources."aggregate-error-3.1.0"
-      sources."ajv-8.2.0"
-      sources."ajv-formats-2.0.2"
+      sources."ajv-8.6.0"
+      sources."ajv-formats-2.1.0"
       sources."ansi-colors-4.1.1"
       sources."ansi-escapes-4.3.2"
       sources."ansi-regex-5.0.0"
@@ -64745,7 +64835,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-2.0.0"
-      sources."inquirer-8.0.0"
+      sources."inquirer-8.1.1"
       sources."ip-1.1.5"
       sources."is-core-module-2.4.0"
       sources."is-docker-2.2.1"
@@ -64770,7 +64860,7 @@ in
       sources."log-symbols-4.1.0"
       sources."lru-cache-6.0.0"
       sources."magic-string-0.25.7"
-      sources."make-fetch-happen-8.0.14"
+      sources."make-fetch-happen-9.0.3"
       sources."mime-db-1.48.0"
       sources."mime-types-2.1.31"
       sources."mimic-fn-2.1.0"
@@ -64786,26 +64876,27 @@ in
       sources."mkdirp-1.0.4"
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
+      sources."negotiator-0.6.2"
       sources."node-gyp-7.1.2"
       sources."nopt-5.0.0"
       sources."npm-bundled-1.1.2"
       sources."npm-install-checks-4.0.0"
       sources."npm-normalize-package-bin-1.0.1"
-      sources."npm-package-arg-8.1.2"
+      sources."npm-package-arg-8.1.5"
       sources."npm-packlist-2.2.2"
       sources."npm-pick-manifest-6.1.1"
-      sources."npm-registry-fetch-10.1.2"
+      sources."npm-registry-fetch-11.0.0"
       sources."npmlog-4.1.2"
       sources."number-is-nan-1.0.1"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
       sources."once-1.4.0"
       sources."onetime-5.1.2"
-      sources."open-8.0.2"
-      sources."ora-5.4.0"
+      sources."open-8.2.1"
+      sources."ora-5.4.1"
       sources."os-tmpdir-1.0.2"
       sources."p-map-4.0.0"
-      sources."pacote-11.3.2"
+      sources."pacote-11.3.4"
       sources."path-is-absolute-1.0.1"
       sources."path-parse-1.0.7"
       sources."performance-now-2.1.0"
@@ -65200,7 +65291,7 @@ in
         ];
       })
       sources."to-utf8-0.0.1"
-      sources."uglify-js-3.13.9"
+      sources."uglify-js-3.13.10"
       sources."unc-path-regex-0.1.2"
       sources."unique-stream-2.3.1"
       sources."universalify-0.1.2"
@@ -65447,7 +65538,7 @@ in
       sources."@types/estree-0.0.46"
       sources."@types/json-schema-7.0.7"
       sources."@types/json5-0.0.29"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."@types/parse-json-4.0.0"
       sources."@webassemblyjs/ast-1.11.0"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.0"
@@ -65466,7 +65557,7 @@ in
       sources."@webassemblyjs/wast-printer-1.11.0"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
-      sources."acorn-8.4.0"
+      sources."acorn-8.4.1"
       sources."ajv-6.12.6"
       sources."ajv-keywords-3.5.2"
       sources."ansi-colors-4.1.1"
@@ -65485,7 +65576,7 @@ in
       sources."buffer-5.7.1"
       sources."buffer-from-1.1.1"
       sources."callsites-3.1.0"
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001241"
       sources."chalk-3.0.0"
       sources."chardet-0.7.0"
       sources."chokidar-3.5.1"
@@ -65505,7 +65596,7 @@ in
       sources."cross-spawn-7.0.3"
       sources."deepmerge-4.2.2"
       sources."defaults-1.0.3"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.765"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       (sources."enhanced-resolve-5.8.2" // {
@@ -65573,7 +65664,7 @@ in
       sources."is-stream-2.0.0"
       sources."is-unicode-supported-0.1.0"
       sources."isexe-2.0.0"
-      (sources."jest-worker-27.0.2" // {
+      (sources."jest-worker-27.0.6" // {
         dependencies = [
           sources."supports-color-8.1.1"
         ];
@@ -65645,7 +65736,7 @@ in
       sources."safer-buffer-2.1.2"
       sources."schema-utils-2.7.0"
       sources."semver-7.3.5"
-      sources."serialize-javascript-5.0.1"
+      sources."serialize-javascript-6.0.0"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
       sources."shelljs-0.8.4"
@@ -65671,12 +65762,12 @@ in
       sources."supports-color-7.2.0"
       sources."symbol-observable-3.0.0"
       sources."tapable-1.1.3"
-      (sources."terser-5.7.0" // {
+      (sources."terser-5.7.1" // {
         dependencies = [
           sources."commander-2.20.3"
         ];
       })
-      (sources."terser-webpack-plugin-5.1.3" // {
+      (sources."terser-webpack-plugin-5.1.4" // {
         dependencies = [
           sources."schema-utils-3.0.0"
           sources."source-map-0.6.1"
@@ -65891,7 +65982,7 @@ in
       sources."@types/cors-2.8.10"
       sources."@types/ejs-2.7.0"
       sources."@types/express-4.17.12"
-      sources."@types/express-serve-static-core-4.17.21"
+      sources."@types/express-serve-static-core-4.17.22"
       sources."@types/fs-capacitor-2.0.0"
       sources."@types/glob-7.1.3"
       sources."@types/http-assert-1.5.1"
@@ -65910,7 +66001,7 @@ in
       sources."@types/long-4.0.1"
       sources."@types/mime-1.3.2"
       sources."@types/minimatch-3.0.4"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."@types/normalize-package-data-2.4.0"
       sources."@types/qs-6.9.6"
       sources."@types/range-parser-1.2.3"
@@ -65925,13 +66016,13 @@ in
       })
       sources."@vue/cli-ui-addon-webpack-4.5.13"
       sources."@vue/cli-ui-addon-widgets-4.5.13"
-      (sources."@vue/compiler-core-3.1.2" // {
+      (sources."@vue/compiler-core-3.1.3" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
       })
-      sources."@vue/compiler-dom-3.1.2"
-      sources."@vue/shared-3.1.2"
+      sources."@vue/compiler-dom-3.1.3"
+      sources."@vue/shared-3.1.3"
       sources."@wry/equality-0.1.11"
       sources."accepts-1.3.7"
       sources."aggregate-error-3.1.0"
@@ -66053,7 +66144,7 @@ in
       sources."call-bind-1.0.2"
       sources."call-me-maybe-1.0.1"
       sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001241"
       sources."caseless-0.12.0"
       sources."caw-2.0.1"
       sources."chalk-2.4.2"
@@ -66080,7 +66171,6 @@ in
       sources."cli-cursor-2.1.0"
       sources."cli-spinners-2.6.0"
       sources."cli-width-3.0.0"
-      sources."clipboard-2.0.8"
       sources."cliui-7.0.4"
       sources."clone-1.0.4"
       sources."clone-deep-4.0.1"
@@ -66111,12 +66201,12 @@ in
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
       sources."copy-descriptor-0.1.1"
-      (sources."core-js-compat-3.15.1" // {
+      (sources."core-js-compat-3.15.2" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
       })
-      sources."core-js-pure-3.15.1"
+      sources."core-js-pure-3.15.2"
       sources."core-util-is-1.0.2"
       sources."cors-2.8.5"
       (sources."cross-spawn-6.0.5" // {
@@ -66166,7 +66256,6 @@ in
       sources."define-properties-1.1.3"
       sources."define-property-2.0.2"
       sources."delayed-stream-1.0.0"
-      sources."delegate-3.2.0"
       sources."depd-1.1.2"
       sources."deprecated-decorator-0.1.6"
       sources."destroy-1.0.4"
@@ -66183,7 +66272,7 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
       sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.765"
       sources."emoji-regex-7.0.3"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
@@ -66266,7 +66355,7 @@ in
       })
       sources."find-up-3.0.0"
       sources."fkill-6.2.0"
-      sources."flow-parser-0.153.0"
+      sources."flow-parser-0.154.0"
       sources."for-each-0.3.3"
       sources."for-in-1.0.2"
       sources."forever-agent-0.6.1"
@@ -66308,7 +66397,6 @@ in
           sources."slash-2.0.0"
         ];
       })
-      sources."good-listener-1.2.2"
       (sources."got-8.3.2" // {
         dependencies = [
           sources."get-stream-3.0.0"
@@ -66319,7 +66407,7 @@ in
       sources."graphql-14.7.0"
       sources."graphql-extensions-0.15.0"
       sources."graphql-subscriptions-1.2.1"
-      (sources."graphql-tag-2.12.4" // {
+      (sources."graphql-tag-2.12.5" // {
         dependencies = [
           sources."tslib-2.3.0"
         ];
@@ -66507,7 +66595,7 @@ in
       sources."nice-try-1.0.5"
       sources."node-dir-0.1.17"
       sources."node-fetch-2.6.1"
-      sources."node-ipc-9.1.4"
+      sources."node-ipc-9.2.0"
       sources."node-modules-regexp-1.0.0"
       (sources."node-notifier-9.0.1" // {
         dependencies = [
@@ -66608,7 +66696,7 @@ in
       })
       sources."posix-character-classes-0.1.1"
       sources."prepend-http-2.0.0"
-      sources."prismjs-1.23.0"
+      sources."prismjs-1.24.0"
       sources."private-0.1.8"
       sources."process-exists-3.1.0"
       sources."process-nextick-args-2.0.1"
@@ -66680,7 +66768,6 @@ in
       sources."sax-1.2.4"
       sources."sec-1.0.0"
       sources."seek-bzip-1.0.6"
-      sources."select-1.1.2"
       sources."semver-6.3.0"
       (sources."send-0.17.1" // {
         dependencies = [
@@ -66834,7 +66921,6 @@ in
       sources."through-2.3.8"
       sources."through2-2.0.5"
       sources."timed-out-4.0.1"
-      sources."tiny-emitter-2.1.0"
       sources."tmp-0.0.33"
       sources."to-buffer-1.1.1"
       sources."to-fast-properties-2.0.0"
@@ -66899,7 +66985,7 @@ in
           sources."array-union-2.1.0"
           sources."braces-3.0.2"
           sources."dir-glob-3.0.1"
-          sources."fast-glob-3.2.5"
+          sources."fast-glob-3.2.6"
           sources."fill-range-7.0.1"
           sources."glob-parent-5.1.2"
           sources."globby-11.0.4"
@@ -66926,7 +67012,7 @@ in
       })
       sources."wrappy-1.0.2"
       sources."write-file-atomic-2.4.3"
-      sources."ws-7.5.0"
+      sources."ws-7.5.1"
       sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
       sources."xss-1.0.9"
@@ -67152,10 +67238,10 @@ in
   alloy = nodeEnv.buildNodePackage {
     name = "alloy";
     packageName = "alloy";
-    version = "1.16.2";
+    version = "1.16.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/alloy/-/alloy-1.16.2.tgz";
-      sha512 = "9/MIehoAx0KtmGIlH408LVU99ms+JycCCLY+DI1CvI8HwwRxS1d5clbKj/7JmCPm5cRYnD7798x4JDNMVNaSIA==";
+      url = "https://registry.npmjs.org/alloy/-/alloy-1.16.3.tgz";
+      sha512 = "Y4pSzPpJHovMA6uqpRTztraKFtchQm9rPbYd9s6UkEuqpYs45hFSY4j+ezkvGxU6Hvn2L6OLc+5dlaOr+P+QKQ==";
     };
     dependencies = [
       sources."@babel/code-frame-7.14.5"
@@ -67196,18 +67282,18 @@ in
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
       sources."browserslist-4.16.6"
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001241"
       sources."chalk-2.4.2"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."colorette-1.2.2"
       sources."colors-1.4.0"
-      sources."commander-7.2.0"
+      sources."commander-8.0.0"
       sources."concat-map-0.0.1"
       sources."convert-source-map-1.8.0"
       sources."debug-4.3.2"
       sources."ejs-3.1.6"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.765"
       sources."ensure-posix-path-1.1.1"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
@@ -67301,7 +67387,7 @@ in
     dependencies = [
       sources."@types/glob-7.1.3"
       sources."@types/minimatch-3.0.4"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
       sources."chromium-pickle-js-0.2.0"
@@ -67329,25 +67415,21 @@ in
   aws-azure-login = nodeEnv.buildNodePackage {
     name = "aws-azure-login";
     packageName = "aws-azure-login";
-    version = "3.3.0";
+    version = "3.4.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/aws-azure-login/-/aws-azure-login-3.3.0.tgz";
-      sha512 = "gwcHKwovQOpVY4F87M46ppqop2/KXgvJGFqZDZvtGALvFihP1olhna5lnJk/Gbl5topHZj8oXefNoWhj/L19aA==";
+      url = "https://registry.npmjs.org/aws-azure-login/-/aws-azure-login-3.4.0.tgz";
+      sha512 = "7PXkWdq+3NL7hUmLOV1yoO6OnVNcT54UVtC6WT1gE9C9dYGG0bEL9nsZz8qiV75hvX1E6fABjw1/Q7KaXgvHfg==";
     };
     dependencies = [
       sources."@tootallnate/once-1.1.2"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."@types/yauzl-2.9.1"
       sources."agent-base-6.0.2"
       sources."ansi-escapes-4.3.2"
       sources."ansi-regex-5.0.0"
       sources."ansi-styles-4.3.0"
-      (sources."ast-types-0.13.4" // {
-        dependencies = [
-          sources."tslib-2.3.0"
-        ];
-      })
-      (sources."aws-sdk-2.932.0" // {
+      sources."ast-types-0.13.4"
+      (sources."aws-sdk-2.938.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
@@ -67357,8 +67439,6 @@ in
       (sources."bl-4.1.0" // {
         dependencies = [
           sources."buffer-5.7.1"
-          sources."readable-stream-3.6.0"
-          sources."string_decoder-1.3.0"
         ];
       })
       sources."bluebird-3.7.2"
@@ -67369,31 +67449,34 @@ in
       sources."bytes-3.1.0"
       sources."chalk-4.1.1"
       sources."chardet-0.7.0"
-      sources."cheerio-1.0.0-rc.5"
-      sources."cheerio-select-tmp-0.1.1"
+      sources."cheerio-1.0.0-rc.10"
+      sources."cheerio-select-1.5.0"
       sources."chownr-1.1.4"
       sources."cli-cursor-3.1.0"
+      sources."cli-spinners-2.6.0"
       sources."cli-width-3.0.0"
+      sources."clone-1.0.4"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."commander-6.2.1"
+      sources."commander-8.0.0"
       sources."concat-map-0.0.1"
       sources."core-util-is-1.0.2"
-      sources."css-select-3.1.2"
-      sources."css-what-4.0.0"
+      sources."css-select-4.1.3"
+      sources."css-what-5.0.1"
       sources."data-uri-to-buffer-3.0.1"
       sources."debug-4.3.2"
       sources."deep-is-0.1.3"
+      sources."defaults-1.0.3"
       sources."degenerator-2.2.0"
       sources."depd-1.1.2"
-      sources."devtools-protocol-0.0.854822"
-      sources."dom-serializer-1.2.0"
+      sources."devtools-protocol-0.0.883894"
+      sources."dom-serializer-1.3.2"
       sources."domelementtype-2.2.0"
       sources."domhandler-4.2.0"
       sources."domutils-2.7.0"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
-      sources."entities-2.1.0"
+      sources."entities-2.2.0"
       sources."escape-string-regexp-1.0.5"
       sources."escodegen-1.14.3"
       sources."esprima-4.0.1"
@@ -67410,7 +67493,13 @@ in
       sources."fs-constants-1.0.0"
       sources."fs-extra-8.1.0"
       sources."fs.realpath-1.0.0"
-      sources."ftp-0.3.10"
+      (sources."ftp-0.3.10" // {
+        dependencies = [
+          sources."isarray-0.0.1"
+          sources."readable-stream-1.1.14"
+          sources."string_decoder-0.10.31"
+        ];
+      })
       sources."get-stream-5.2.0"
       sources."get-uri-3.0.2"
       sources."glob-7.1.7"
@@ -67425,20 +67514,23 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-2.0.0"
-      sources."inquirer-7.3.3"
+      sources."inquirer-8.1.1"
       sources."ip-1.1.5"
       sources."is-fullwidth-code-point-3.0.0"
+      sources."is-interactive-1.0.0"
+      sources."is-unicode-supported-0.1.0"
       sources."isarray-1.0.0"
       sources."jmespath-0.15.0"
       sources."jsonfile-4.0.0"
       sources."levn-0.3.0"
       sources."locate-path-5.0.0"
       sources."lodash-4.17.21"
+      sources."log-symbols-4.1.0"
       sources."lru-cache-5.1.1"
       sources."mimic-fn-2.1.0"
       sources."minimatch-3.0.4"
+      sources."minimist-1.2.5"
       sources."mkdirp-1.0.4"
-      sources."mkdirp-classic-0.5.3"
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
       sources."netmask-2.0.2"
@@ -67447,6 +67539,7 @@ in
       sources."once-1.4.0"
       sources."onetime-5.1.2"
       sources."optionator-0.8.3"
+      sources."ora-5.4.1"
       sources."os-tmpdir-1.0.2"
       sources."p-limit-2.3.0"
       sources."p-locate-4.1.0"
@@ -67460,23 +67553,27 @@ in
       sources."pend-1.2.0"
       sources."pkg-dir-4.2.0"
       sources."prelude-ls-1.1.2"
-      sources."progress-2.0.3"
+      sources."progress-2.0.1"
       sources."proxy-agent-4.0.1"
       sources."proxy-from-env-1.1.0"
       sources."pump-3.0.0"
       sources."punycode-1.3.2"
-      sources."puppeteer-8.0.0"
-      sources."querystring-0.2.0"
-      sources."raw-body-2.4.1"
-      (sources."readable-stream-1.1.14" // {
+      (sources."puppeteer-10.1.0" // {
         dependencies = [
-          sources."isarray-0.0.1"
+          sources."debug-4.3.1"
         ];
       })
+      sources."querystring-0.2.0"
+      sources."raw-body-2.4.1"
+      sources."readable-stream-3.6.0"
       sources."restore-cursor-3.1.0"
       sources."rimraf-3.0.2"
       sources."run-async-2.4.1"
-      sources."rxjs-6.6.7"
+      (sources."rxjs-6.6.7" // {
+        dependencies = [
+          sources."tslib-1.14.1"
+        ];
+      })
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.1"
@@ -67488,23 +67585,22 @@ in
       sources."source-map-0.6.1"
       sources."statuses-1.5.0"
       sources."string-width-4.2.2"
-      sources."string_decoder-0.10.31"
+      sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.0"
       sources."supports-color-7.2.0"
-      sources."tar-fs-2.1.1"
-      (sources."tar-stream-2.2.0" // {
+      (sources."tar-fs-2.0.0" // {
         dependencies = [
-          sources."readable-stream-3.6.0"
-          sources."string_decoder-1.3.0"
+          sources."mkdirp-0.5.5"
         ];
       })
+      sources."tar-stream-2.2.0"
       sources."through-2.3.8"
       sources."tmp-0.0.33"
       sources."toidentifier-1.0.0"
-      sources."tslib-1.14.1"
+      sources."tslib-2.3.0"
       sources."type-check-0.3.2"
       sources."type-fest-0.21.3"
-      (sources."unbzip2-stream-1.4.3" // {
+      (sources."unbzip2-stream-1.3.3" // {
         dependencies = [
           sources."buffer-5.7.1"
         ];
@@ -67514,9 +67610,10 @@ in
       sources."url-0.10.3"
       sources."util-deprecate-1.0.2"
       sources."uuid-8.3.2"
+      sources."wcwidth-1.0.1"
       sources."word-wrap-1.2.3"
       sources."wrappy-1.0.2"
-      sources."ws-7.5.0"
+      sources."ws-7.4.6"
       sources."xml2js-0.4.19"
       sources."xmlbuilder-9.0.7"
       sources."xregexp-2.0.0"
@@ -67536,10 +67633,10 @@ in
   balanceofsatoshis = nodeEnv.buildNodePackage {
     name = "balanceofsatoshis";
     packageName = "balanceofsatoshis";
-    version = "10.1.0";
+    version = "10.4.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/balanceofsatoshis/-/balanceofsatoshis-10.1.0.tgz";
-      sha512 = "ZKHOfZkyXhevLUbQMijz6PEGBZuBdeUS6oqdqrmeYlOB2xZPC/KxCPmKTD7igbq7eD2E/XixtzpHub8bQnxRIg==";
+      url = "https://registry.npmjs.org/balanceofsatoshis/-/balanceofsatoshis-10.4.3.tgz";
+      sha512 = "mphALvASQBcm5CEaLP4BSo+/JFQ9L8i0Hmr7az49RnTFFqeZLuLPx+eac9cTA24sbSK3I9sRtbLYQv59dW/1VQ==";
     };
     dependencies = [
       sources."@alexbosworth/html2unicode-1.1.5"
@@ -67552,7 +67649,7 @@ in
       sources."@cto.af/textdecoder-0.0.0"
       (sources."@grpc/grpc-js-1.3.2" // {
         dependencies = [
-          sources."@types/node-15.12.4"
+          sources."@types/node-15.14.0"
         ];
       })
       sources."@grpc/proto-loader-0.6.2"
@@ -67575,7 +67672,7 @@ in
       sources."@types/caseless-0.12.2"
       sources."@types/connect-3.4.34"
       sources."@types/express-4.17.12"
-      sources."@types/express-serve-static-core-4.17.21"
+      sources."@types/express-serve-static-core-4.17.22"
       sources."@types/long-4.0.1"
       sources."@types/mime-1.3.2"
       sources."@types/node-10.12.18"
@@ -67812,7 +67909,9 @@ in
       sources."global-dirs-3.0.0"
       (sources."goldengate-10.1.0" // {
         dependencies = [
+          sources."bech32-2.0.0"
           sources."bn.js-5.2.0"
+          sources."invoices-1.2.1"
           sources."ln-service-51.8.2"
         ];
       })
@@ -67874,7 +67973,7 @@ in
           sources."tmp-0.0.33"
         ];
       })
-      (sources."invoices-1.2.1" // {
+      (sources."invoices-2.0.0" // {
         dependencies = [
           sources."bech32-2.0.0"
           sources."bn.js-5.2.0"
@@ -67923,22 +68022,20 @@ in
       (sources."lightning-3.3.9" // {
         dependencies = [
           sources."@types/node-15.6.1"
+          sources."bech32-2.0.0"
           sources."bn.js-5.2.0"
+          sources."invoices-1.2.1"
         ];
       })
-      (sources."ln-accounting-4.3.0" // {
-        dependencies = [
-          sources."bn.js-5.2.0"
-          sources."goldengate-10.0.6"
-          sources."ln-service-51.8.2"
-        ];
-      })
-      (sources."ln-service-51.8.4" // {
+      sources."ln-accounting-4.3.1"
+      (sources."ln-service-51.8.5" // {
         dependencies = [
-          sources."@types/node-15.12.4"
+          sources."@grpc/grpc-js-1.3.4"
+          sources."@grpc/proto-loader-0.6.3"
+          sources."@types/node-15.12.5"
           sources."@types/ws-7.4.5"
           sources."bn.js-5.2.0"
-          sources."lightning-3.3.11"
+          sources."lightning-3.3.12"
           sources."ws-7.5.0"
         ];
       })
@@ -67964,11 +68061,16 @@ in
           sources."psbt-1.1.8"
         ];
       })
-      (sources."ln-telegram-3.2.5" // {
+      (sources."ln-telegram-3.2.6" // {
         dependencies = [
+          sources."@types/node-15.12.4"
+          sources."@types/ws-7.4.5"
+          sources."bech32-2.0.0"
           sources."bn.js-5.2.0"
-          sources."goldengate-10.0.6"
-          sources."ln-service-51.8.2"
+          sources."invoices-1.2.1"
+          sources."lightning-3.3.11"
+          sources."ln-service-51.8.4"
+          sources."ws-7.5.0"
         ];
       })
       sources."lodash-4.17.21"
@@ -67991,6 +68093,7 @@ in
       sources."long-4.0.0"
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-6.0.0"
+      sources."luxon-1.27.0"
       (sources."macaroon-3.0.4" // {
         dependencies = [
           sources."tweetnacl-1.0.3"
@@ -68054,7 +68157,18 @@ in
       sources."p-cancelable-1.1.0"
       sources."p-timeout-4.1.0"
       sources."package-json-6.5.0"
-      sources."paid-services-2.0.0"
+      (sources."paid-services-2.0.0" // {
+        dependencies = [
+          sources."@types/node-15.12.4"
+          sources."@types/ws-7.4.5"
+          sources."bech32-2.0.0"
+          sources."bn.js-5.2.0"
+          sources."invoices-1.2.1"
+          sources."lightning-3.3.11"
+          sources."ln-service-51.8.4"
+          sources."ws-7.5.0"
+        ];
+      })
       sources."parseurl-1.3.3"
       sources."path-to-regexp-0.1.7"
       sources."performance-now-2.1.0"
@@ -68064,13 +68178,16 @@ in
       sources."prettyjson-1.2.1"
       (sources."probing-1.3.6" // {
         dependencies = [
+          sources."bech32-2.0.0"
+          sources."bn.js-5.2.0"
+          sources."invoices-1.2.1"
           sources."ln-service-51.8.2"
         ];
       })
       sources."process-nextick-args-2.0.1"
       (sources."protobufjs-6.11.2" // {
         dependencies = [
-          sources."@types/node-15.12.4"
+          sources."@types/node-15.14.0"
         ];
       })
       sources."proxy-addr-2.0.7"
@@ -68181,7 +68298,7 @@ in
       sources."typedarray-0.0.6"
       sources."typedarray-to-buffer-3.1.5"
       sources."typeforce-1.18.0"
-      sources."typegram-3.3.1"
+      sources."typegram-3.4.0"
       sources."unique-string-2.0.0"
       sources."unpipe-1.0.0"
       (sources."update-notifier-5.1.0" // {
@@ -68904,7 +69021,7 @@ in
           sources."map-obj-1.0.1"
         ];
       })
-      sources."decimal.js-10.3.0"
+      sources."decimal.js-10.3.1"
       sources."delayed-stream-1.0.0"
       sources."denque-1.5.0"
       sources."depd-1.1.2"
@@ -69019,7 +69136,7 @@ in
       sources."lodash-4.17.21"
       sources."lru-cache-6.0.0"
       sources."map-obj-4.2.1"
-      (sources."markdown-it-12.0.6" // {
+      (sources."markdown-it-12.1.0" // {
         dependencies = [
           sources."argparse-2.0.1"
           sources."entities-2.1.0"
@@ -69247,7 +69364,7 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.1"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."addr-to-ip-port-1.5.1"
       sources."airplay-js-0.2.16"
       sources."ajv-6.12.6"
@@ -69309,7 +69426,7 @@ in
       sources."co-3.1.0"
       sources."codepage-1.4.0"
       sources."combined-stream-1.0.8"
-      sources."commander-7.2.0"
+      sources."commander-8.0.0"
       sources."compact2string-1.4.1"
       sources."concat-map-0.0.1"
       (sources."concat-stream-2.0.0" // {
@@ -69681,7 +69798,7 @@ in
       sources."color-name-1.1.4"
       sources."colors-1.4.0"
       sources."commonmark-0.29.3"
-      sources."constructs-3.3.87"
+      sources."constructs-3.3.94"
       sources."date-format-3.0.0"
       sources."debug-4.3.2"
       sources."decamelize-5.0.0"
@@ -69754,13 +69871,13 @@ in
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-srcmak-0.1.290" // {
+      (sources."jsii-srcmak-0.1.297" // {
         dependencies = [
           sources."fs-extra-9.1.0"
         ];
       })
       sources."json-schema-0.3.0"
-      sources."json2jsii-0.1.257"
+      sources."json2jsii-0.1.264"
       sources."jsonfile-6.1.0"
       sources."jsonschema-1.4.0"
       sources."locate-path-5.0.0"
@@ -69796,7 +69913,7 @@ in
       sources."snake-case-3.0.4"
       sources."sort-json-2.0.0"
       sources."spdx-license-list-6.4.0"
-      sources."sscaff-1.2.10"
+      sources."sscaff-1.2.17"
       (sources."streamroller-2.2.4" // {
         dependencies = [
           sources."date-format-2.1.0"
@@ -69911,7 +70028,7 @@ in
       sources."commonmark-0.29.3"
       sources."compress-commons-4.1.1"
       sources."concat-map-0.0.1"
-      sources."constructs-3.3.87"
+      sources."constructs-3.3.94"
       sources."convert-to-spaces-1.0.2"
       sources."core-util-is-1.0.2"
       sources."crc-32-1.2.0"
@@ -70030,7 +70147,7 @@ in
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-srcmak-0.1.290" // {
+      (sources."jsii-srcmak-0.1.297" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."jsonfile-6.1.0"
@@ -70113,7 +70230,7 @@ in
       sources."slice-ansi-3.0.0"
       sources."sort-json-2.0.0"
       sources."spdx-license-list-6.4.0"
-      sources."sscaff-1.2.10"
+      sources."sscaff-1.2.17"
       sources."stack-utils-2.0.3"
       sources."stream-buffers-3.0.2"
       (sources."streamroller-2.2.4" // {
@@ -70152,7 +70269,7 @@ in
       sources."widest-line-3.1.0"
       sources."wrap-ansi-6.2.0"
       sources."wrappy-1.0.2"
-      sources."ws-7.5.0"
+      sources."ws-7.5.1"
       sources."xmlbuilder-15.1.1"
       sources."xmldom-0.6.0"
       sources."y18n-5.0.8"
@@ -70191,7 +70308,7 @@ in
     dependencies = [
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
-      sources."clean-css-5.1.2"
+      sources."clean-css-5.1.3"
       sources."commander-7.2.0"
       sources."concat-map-0.0.1"
       sources."fs.realpath-1.0.0"
@@ -70571,7 +70688,7 @@ in
       sha512 = "7SHQYzpRKPrpaLcTm1UUk1zu9VvFEJKFqxwDIuqv/CL0cBTtEvlsfpVh9DOaMHlZPu8U8Lgyf04bHV/sFS1zJw==";
     };
     dependencies = [
-      sources."typescript-4.3.4"
+      sources."typescript-4.3.5"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -70659,7 +70776,7 @@ in
       sources."ms-2.0.0"
       sources."request-light-0.4.0"
       sources."vscode-json-languageserver-1.3.4"
-      (sources."vscode-json-languageservice-4.1.4" // {
+      (sources."vscode-json-languageservice-4.1.5" // {
         dependencies = [
           sources."vscode-nls-5.0.0"
         ];
@@ -70926,10 +71043,10 @@ in
   coc-prettier = nodeEnv.buildNodePackage {
     name = "coc-prettier";
     packageName = "coc-prettier";
-    version = "1.1.23";
+    version = "1.1.24";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-prettier/-/coc-prettier-1.1.23.tgz";
-      sha512 = "9tjbN4O13DXlrNaZWtXozthLSW0LE+YjmBZf4LDdrpbfmzqLDvncDtOtqcRCd9LStoLPY7pv2o4Tucb2IrHjMw==";
+      url = "https://registry.npmjs.org/coc-prettier/-/coc-prettier-1.1.24.tgz";
+      sha512 = "nVsvnTFI02RBEs+O7geMsVdhoDQDW/b7GQN9GJRiLbyPS7LTArKf1G6dkX6gQgLBR5lOYQWiuw54iIyMgqc29Q==";
     };
     dependencies = [
       sources."@babel/code-frame-7.12.11"
@@ -71010,7 +71127,7 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-2.1.1"
       sources."camelcase-keys-2.1.0"
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001241"
       sources."capture-stack-trace-1.0.1"
       sources."ccount-1.1.0"
       (sources."chalk-4.1.1" // {
@@ -71072,7 +71189,7 @@ in
         ];
       })
       sources."copy-descriptor-0.1.1"
-      sources."core-js-3.15.1"
+      sources."core-js-3.15.2"
       sources."cosmiconfig-3.1.0"
       sources."create-error-class-3.0.2"
       sources."cross-spawn-7.0.3"
@@ -71108,7 +71225,7 @@ in
       sources."domutils-1.7.0"
       sources."dot-prop-5.3.0"
       sources."duplexer3-0.1.4"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.765"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."enquirer-2.3.6"
@@ -71227,7 +71344,7 @@ in
       sources."fill-range-2.2.4"
       sources."find-up-2.1.0"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.1.1"
+      sources."flatted-3.2.0"
       sources."for-in-1.0.2"
       sources."for-own-0.1.5"
       sources."fragment-cache-0.2.1"
@@ -71564,7 +71681,7 @@ in
       sources."prelude-ls-1.2.1"
       sources."prepend-http-1.0.4"
       sources."preserve-0.2.0"
-      sources."prettier-2.3.1"
+      sources."prettier-2.3.2"
       sources."prettier-eslint-12.0.0"
       (sources."prettier-stylelint-0.4.2" // {
         dependencies = [
@@ -71907,13 +72024,13 @@ in
   coc-pyright = nodeEnv.buildNodePackage {
     name = "coc-pyright";
     packageName = "coc-pyright";
-    version = "1.1.150";
+    version = "1.1.154";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-pyright/-/coc-pyright-1.1.150.tgz";
-      sha512 = "+dWSYM9AfBsYeOclQNmuHcw9aKWwL6XICmPm64N9peWE+oXqMOAShaH5xO+JV+r88R0wTN/LJaEwGHlkxJD2XA==";
+      url = "https://registry.npmjs.org/coc-pyright/-/coc-pyright-1.1.154.tgz";
+      sha512 = "SUaGghNwGq4dD6DFWbmsMF0eqwydbO/OKknCmjx0kvLXniIkEkQUnfS3wc3dm3MIWBNYsZ2x3fM0J7a83WhHgA==";
     };
     dependencies = [
-      sources."pyright-1.1.151"
+      sources."pyright-1.1.154"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -71987,10 +72104,10 @@ in
   coc-rust-analyzer = nodeEnv.buildNodePackage {
     name = "coc-rust-analyzer";
     packageName = "coc-rust-analyzer";
-    version = "0.46.2";
+    version = "0.46.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-rust-analyzer/-/coc-rust-analyzer-0.46.2.tgz";
-      sha512 = "uEFyQAaWQ60qY2q74jXn8Wk73QMekHVSRKuBP178uVV/xAhyd24psr+pNrdZxXVZGBRwuRLgHFd+N5YhikOBMw==";
+      url = "https://registry.npmjs.org/coc-rust-analyzer/-/coc-rust-analyzer-0.46.3.tgz";
+      sha512 = "eaHTqrFLwtTgjOMSiVIc3Z4I575LZ0xzY6rvrMEKmxWiRHB8c26LzrhKN8dbK+An6XxryUceijBMrfz4dsiOVw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -72023,10 +72140,10 @@ in
   coc-snippets = nodeEnv.buildNodePackage {
     name = "coc-snippets";
     packageName = "coc-snippets";
-    version = "2.4.2";
+    version = "2.4.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-snippets/-/coc-snippets-2.4.2.tgz";
-      sha512 = "e+gsnzl//ilZNhfdVNkzI3lvJoMdB/aLVrMbaecimJG+gabVI/MvjmpsvrOLu9KFkBmECFjpM3T2Hxd6DuvY2Q==";
+      url = "https://registry.npmjs.org/coc-snippets/-/coc-snippets-2.4.3.tgz";
+      sha512 = "1vIMSDI8zKbr7J/jD4Ey9EFfYnipRaYzbaY9WZHnStEb0H2M/obIjwl5k9gRFGfJV00vB7zDpHp19FXLXVqzhQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -72119,7 +72236,7 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001241"
       (sources."chalk-4.1.1" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -72157,7 +72274,7 @@ in
       sources."domelementtype-1.3.1"
       sources."domhandler-2.4.2"
       sources."domutils-1.7.0"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.765"
       sources."emoji-regex-8.0.0"
       sources."entities-1.1.2"
       sources."error-ex-1.3.2"
@@ -72167,14 +72284,14 @@ in
       sources."extend-3.0.2"
       sources."fast-deep-equal-3.1.3"
       sources."fast-diff-1.2.0"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fastest-levenshtein-1.0.12"
       sources."fastq-1.11.0"
       sources."file-entry-cache-6.0.1"
       sources."fill-range-7.0.1"
       sources."find-up-4.1.0"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.1.1"
+      sources."flatted-3.2.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."gensync-1.0.0-beta.2"
@@ -72362,7 +72479,7 @@ in
       sources."trough-1.0.5"
       sources."type-fest-0.18.1"
       sources."typedarray-to-buffer-3.1.5"
-      sources."unified-9.2.1"
+      sources."unified-9.2.2"
       sources."unist-util-find-all-after-3.0.2"
       sources."unist-util-is-4.1.0"
       sources."unist-util-stringify-position-2.0.3"
@@ -72537,7 +72654,7 @@ in
       sha512 = "qkVsa46XLmOCmohpQhhz1SG9vUQN/54b/zZsDI5fnuBM49GX9f+Aya8m9ZidAzuwFKV+ostgvdWaB+GeQPPNPQ==";
     };
     dependencies = [
-      sources."typescript-4.3.4"
+      sources."typescript-4.3.5"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -72601,7 +72718,7 @@ in
       sources."enquirer-2.3.6"
       sources."escape-string-regexp-4.0.0"
       sources."eslint-7.29.0"
-      sources."eslint-plugin-vue-7.11.1"
+      sources."eslint-plugin-vue-7.12.1"
       sources."eslint-scope-5.1.1"
       (sources."eslint-utils-2.1.0" // {
         dependencies = [
@@ -72632,7 +72749,7 @@ in
       sources."fast-levenshtein-2.0.6"
       sources."file-entry-cache-6.0.1"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.1.1"
+      sources."flatted-3.2.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."functional-red-black-tree-1.0.1"
@@ -72673,7 +72790,7 @@ in
       sources."path-key-3.1.1"
       sources."path-parse-1.0.7"
       sources."prelude-ls-1.2.1"
-      sources."prettier-2.3.1"
+      sources."prettier-2.3.2"
       sources."progress-2.0.3"
       sources."punycode-2.1.1"
       sources."regexpp-3.2.0"
@@ -72714,14 +72831,19 @@ in
       sources."tsutils-2.29.0"
       sources."type-check-0.4.0"
       sources."type-fest-0.20.2"
-      sources."typescript-4.3.4"
+      sources."typescript-4.3.5"
       sources."uri-js-4.4.1"
       sources."v8-compile-cache-2.3.0"
       sources."vls-0.7.4"
-      (sources."vue-eslint-parser-7.6.0" // {
+      (sources."vue-eslint-parser-7.7.1" // {
         dependencies = [
+          sources."acorn-8.4.1"
           sources."eslint-visitor-keys-1.3.0"
-          sources."espree-6.2.1"
+          (sources."espree-8.0.0" // {
+            dependencies = [
+              sources."eslint-visitor-keys-3.0.0"
+            ];
+          })
         ];
       })
       sources."which-2.0.2"
@@ -73191,7 +73313,7 @@ in
       })
       sources."extsprintf-1.4.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fast-json-parse-1.0.3"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.11.0"
@@ -73619,7 +73741,7 @@ in
       sources."@types/glob-7.1.3"
       sources."@types/minimatch-3.0.4"
       sources."@types/minimist-1.2.1"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."@types/normalize-package-data-2.4.0"
       sources."aggregate-error-3.1.0"
       sources."ansi-styles-3.2.1"
@@ -73990,7 +74112,7 @@ in
       sources."@cycle/run-3.4.0"
       sources."@cycle/time-0.10.1"
       sources."@types/cookiejar-2.1.2"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."@types/superagent-3.8.2"
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-2.1.1"
@@ -74905,7 +75027,7 @@ in
       sources."use-3.1.1"
       sources."util-deprecate-1.0.2"
       sources."utile-0.3.0"
-      (sources."utp-native-2.5.1" // {
+      (sources."utp-native-2.5.3" // {
         dependencies = [
           sources."node-gyp-build-4.2.3"
           sources."readable-stream-3.6.0"
@@ -74985,7 +75107,7 @@ in
       sources."crypto-random-string-2.0.0"
       sources."del-6.0.0"
       sources."dir-glob-3.0.1"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fastq-1.11.0"
       sources."fill-range-7.0.1"
       sources."find-up-4.1.0"
@@ -75304,7 +75426,7 @@ in
       sources."@types/http-cache-semantics-4.0.0"
       sources."@types/keyv-3.1.1"
       sources."@types/minimatch-3.0.4"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."@types/responselike-1.0.0"
       sources."@types/yauzl-2.9.1"
       sources."abbrev-1.1.1"
@@ -75380,7 +75502,7 @@ in
       sources."concat-map-0.0.1"
       sources."config-chain-1.1.13"
       sources."console-control-strings-1.1.0"
-      sources."core-js-3.15.1"
+      sources."core-js-3.15.2"
       sources."core-util-is-1.0.2"
       sources."cross-spawn-7.0.3"
       sources."currently-unhandled-0.4.1"
@@ -75936,7 +76058,7 @@ in
       sources."@types/http-cache-semantics-4.0.0"
       sources."@types/keyv-3.1.1"
       sources."@types/minimist-1.2.1"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."@types/normalize-package-data-2.4.0"
       sources."@types/responselike-1.0.0"
       sources."@types/yoga-layout-1.9.2"
@@ -75971,7 +76093,7 @@ in
           sources."quick-lru-4.0.1"
         ];
       })
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001241"
       sources."chalk-2.4.2"
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
@@ -76008,7 +76130,7 @@ in
       })
       sources."defer-to-connect-2.0.1"
       sources."dot-prop-5.3.0"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.765"
       sources."emoji-regex-8.0.0"
       sources."emojilib-2.4.0"
       sources."end-of-stream-1.4.4"
@@ -76219,7 +76341,7 @@ in
         ];
       })
       sources."wrappy-1.0.2"
-      sources."ws-7.5.0"
+      sources."ws-7.5.1"
       sources."yallist-4.0.0"
       sources."yargs-parser-18.1.3"
       sources."yoga-layout-prebuilt-1.10.0"
@@ -76283,7 +76405,7 @@ in
           sources."normalize-path-2.1.1"
         ];
       })
-      sources."@microsoft/load-themed-styles-1.10.185"
+      sources."@microsoft/load-themed-styles-1.10.190"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.7"
@@ -76301,7 +76423,7 @@ in
       sources."@types/connect-3.4.34"
       sources."@types/engine.io-3.1.5"
       sources."@types/express-4.17.8"
-      sources."@types/express-serve-static-core-4.17.21"
+      sources."@types/express-serve-static-core-4.17.22"
       sources."@types/fancy-log-1.3.0"
       sources."@types/glob-7.1.3"
       sources."@types/hls.js-0.13.1"
@@ -76816,7 +76938,7 @@ in
       sources."extsprintf-1.3.0"
       sources."fancy-log-1.3.3"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-1.1.4"
       sources."fastq-1.11.0"
@@ -77722,7 +77844,7 @@ in
           sources."yallist-3.1.1"
         ];
       })
-      (sources."terser-5.7.0" // {
+      (sources."terser-5.7.1" // {
         dependencies = [
           sources."source-map-0.7.3"
         ];
@@ -77907,7 +78029,7 @@ in
         ];
       })
       sources."wrappy-1.0.2"
-      sources."ws-7.5.0"
+      sources."ws-7.5.1"
       sources."xmlhttprequest-ssl-1.5.5"
       sources."xtend-4.0.2"
       sources."y18n-3.2.2"
@@ -78028,7 +78150,7 @@ in
       sources."fast-levenshtein-2.0.6"
       sources."file-entry-cache-6.0.1"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.1.1"
+      sources."flatted-3.2.0"
       sources."fs.realpath-1.0.0"
       sources."functional-red-black-tree-1.0.1"
       sources."glob-7.1.7"
@@ -78190,7 +78312,7 @@ in
       sources."fast-levenshtein-2.0.6"
       sources."file-entry-cache-6.0.1"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.1.1"
+      sources."flatted-3.2.0"
       sources."fs.realpath-1.0.0"
       sources."functional-red-black-tree-1.0.1"
       sources."glob-7.1.7"
@@ -78292,10 +78414,10 @@ in
   expo-cli = nodeEnv.buildNodePackage {
     name = "expo-cli";
     packageName = "expo-cli";
-    version = "4.6.0";
+    version = "4.7.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/expo-cli/-/expo-cli-4.6.0.tgz";
-      sha512 = "hvsfWKLsPG8oUMTEAVcGxp3JR/28H2KkZP2TW6iXqCv4EXwOYydnr1WjnYLZgN+wDRtoyGhYn7GFra5tXZJhrA==";
+      url = "https://registry.npmjs.org/expo-cli/-/expo-cli-4.7.2.tgz";
+      sha512 = "svwjCPWCk7KMwGBxYIwSm65ypkTIBvjdfR/v7El3365krTPY6sf5to6hY3+NKWUA9m5IZoUn3LUfpTIOyZIuUQ==";
     };
     dependencies = [
       sources."@babel/code-frame-7.14.5"
@@ -78431,16 +78553,10 @@ in
       sources."@babel/types-7.14.5"
       sources."@expo/apple-utils-0.0.0-alpha.20"
       sources."@expo/bunyan-4.0.0"
-      sources."@expo/config-4.0.4"
-      sources."@expo/config-plugins-2.0.4"
+      sources."@expo/config-5.0.2"
+      sources."@expo/config-plugins-3.0.2"
       sources."@expo/config-types-41.0.0"
-      (sources."@expo/configure-splash-screen-0.4.0" // {
-        dependencies = [
-          sources."commander-5.1.0"
-          sources."pngjs-5.0.0"
-        ];
-      })
-      (sources."@expo/dev-server-0.1.74" // {
+      (sources."@expo/dev-server-0.1.77" // {
         dependencies = [
           sources."body-parser-1.19.0"
           sources."bytes-3.1.0"
@@ -78457,7 +78573,7 @@ in
           sources."temp-dir-2.0.0"
         ];
       })
-      sources."@expo/dev-tools-0.13.104"
+      sources."@expo/dev-tools-0.13.107"
       (sources."@expo/devcert-1.0.0" // {
         dependencies = [
           sources."debug-3.2.7"
@@ -78477,7 +78593,7 @@ in
           sources."json5-1.0.1"
         ];
       })
-      sources."@expo/metro-config-0.1.74"
+      sources."@expo/metro-config-0.1.77"
       sources."@expo/osascript-2.0.28"
       (sources."@expo/package-manager-0.0.43" // {
         dependencies = [
@@ -78491,7 +78607,7 @@ in
           sources."xmlbuilder-14.0.0"
         ];
       })
-      sources."@expo/prebuild-config-1.0.5"
+      sources."@expo/prebuild-config-2.0.2"
       sources."@expo/results-1.0.0"
       (sources."@expo/schemer-1.3.29" // {
         dependencies = [
@@ -78502,13 +78618,13 @@ in
       })
       sources."@expo/simple-spinner-1.0.2"
       sources."@expo/spawn-async-1.5.0"
-      (sources."@expo/webpack-config-0.12.78" // {
+      (sources."@expo/webpack-config-0.12.81" // {
         dependencies = [
           sources."@babel/runtime-7.9.0"
           sources."react-refresh-0.8.3"
         ];
       })
-      (sources."@expo/xcpretty-3.1.3" // {
+      (sources."@expo/xcpretty-3.1.4" // {
         dependencies = [
           sources."@babel/code-frame-7.10.4"
           sources."js-yaml-4.1.0"
@@ -78519,7 +78635,7 @@ in
       sources."@hapi/hoek-9.2.0"
       sources."@hapi/joi-17.1.1"
       sources."@hapi/pinpoint-2.0.0"
-      sources."@hapi/topo-5.0.0"
+      sources."@hapi/topo-5.1.0"
       (sources."@jest/types-25.5.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -78846,7 +78962,7 @@ in
       })
       sources."camelcase-5.3.1"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001241"
       sources."caseless-0.12.0"
       (sources."chalk-4.1.1" // {
         dependencies = [
@@ -78980,7 +79096,7 @@ in
         ];
       })
       sources."core-js-2.6.12"
-      (sources."core-js-compat-3.15.1" // {
+      (sources."core-js-compat-3.15.2" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -79114,7 +79230,7 @@ in
       sources."duplexify-3.7.1"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.765"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -79141,11 +79257,7 @@ in
       sources."eol-0.9.1"
       sources."err-code-2.0.3"
       sources."errno-0.1.8"
-      (sources."error-ex-1.3.2" // {
-        dependencies = [
-          sources."is-arrayish-0.2.1"
-        ];
-      })
+      sources."error-ex-1.3.2"
       sources."error-stack-parser-2.0.6"
       sources."errorhandler-1.5.1"
       sources."es-abstract-1.18.3"
@@ -79195,7 +79307,7 @@ in
           sources."ms-2.0.0"
         ];
       })
-      (sources."expo-pwa-0.0.84" // {
+      (sources."expo-pwa-0.0.87" // {
         dependencies = [
           sources."commander-2.20.0"
         ];
@@ -79220,7 +79332,7 @@ in
       })
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.11.0"
       sources."faye-websocket-0.10.0"
@@ -79423,7 +79535,7 @@ in
       sources."is-absolute-url-2.1.0"
       sources."is-accessor-descriptor-1.0.0"
       sources."is-arguments-1.1.0"
-      sources."is-arrayish-0.3.2"
+      sources."is-arrayish-0.2.1"
       sources."is-bigint-1.0.2"
       sources."is-binary-path-2.1.0"
       sources."is-boolean-object-1.1.1"
@@ -80237,7 +80349,11 @@ in
       sources."shell-quote-1.7.2"
       sources."signal-exit-3.0.3"
       sources."simple-plist-1.1.1"
-      sources."simple-swizzle-0.2.2"
+      (sources."simple-swizzle-0.2.2" // {
+        dependencies = [
+          sources."is-arrayish-0.3.2"
+        ];
+      })
       sources."sisteransi-1.0.5"
       sources."slash-3.0.0"
       (sources."slugid-1.1.0" // {
@@ -80747,7 +80863,7 @@ in
           sources."uuid-7.0.3"
         ];
       })
-      (sources."xdl-59.0.44" // {
+      (sources."xdl-59.0.47" // {
         dependencies = [
           sources."chownr-1.1.4"
           sources."fs-minipass-1.2.7"
@@ -80760,7 +80876,6 @@ in
         ];
       })
       sources."xhr-2.6.0"
-      sources."xml-js-1.6.11"
       sources."xml-parse-from-string-1.0.1"
       (sources."xml2js-0.4.23" // {
         dependencies = [
@@ -81242,7 +81357,7 @@ in
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
       sources."fast-diff-1.2.0"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."fastq-1.11.0"
@@ -81442,7 +81557,7 @@ in
       sources."posix-character-classes-0.1.1"
       sources."prelude-ls-1.1.2"
       sources."prepend-http-2.0.0"
-      sources."prettier-2.3.1"
+      sources."prettier-2.3.2"
       sources."prettier-linter-helpers-1.0.0"
       sources."process-nextick-args-2.0.1"
       sources."psl-1.8.0"
@@ -81622,21 +81737,21 @@ in
       sources."@google-cloud/precise-date-2.0.3"
       sources."@google-cloud/projectify-2.1.0"
       sources."@google-cloud/promisify-2.0.3"
-      (sources."@google-cloud/pubsub-2.14.0" // {
+      (sources."@google-cloud/pubsub-2.15.1" // {
         dependencies = [
-          sources."google-auth-library-7.1.2"
+          sources."google-auth-library-7.2.0"
         ];
       })
-      sources."@grpc/grpc-js-1.3.3"
-      sources."@grpc/proto-loader-0.6.2"
+      sources."@grpc/grpc-js-1.3.4"
+      sources."@grpc/proto-loader-0.6.4"
       sources."@jsdevtools/ono-7.1.3"
       (sources."@npmcli/move-file-1.1.2" // {
         dependencies = [
           sources."mkdirp-1.0.4"
         ];
       })
-      sources."@opentelemetry/api-0.20.0"
-      sources."@opentelemetry/semantic-conventions-0.20.0"
+      sources."@opentelemetry/api-1.0.1"
+      sources."@opentelemetry/semantic-conventions-0.22.0"
       sources."@protobufjs/aspromise-1.1.2"
       sources."@protobufjs/base64-1.1.2"
       sources."@protobufjs/codegen-2.0.4"
@@ -81656,7 +81771,7 @@ in
       sources."@types/json-schema-7.0.7"
       sources."@types/long-4.0.1"
       sources."@types/minimatch-3.0.4"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."JSONStream-1.3.5"
       sources."abbrev-1.1.1"
       sources."abort-controller-3.0.0"
@@ -81943,7 +82058,7 @@ in
       sources."fecha-4.2.1"
       sources."figures-2.0.0"
       sources."file-uri-to-path-2.0.0"
-      sources."filesize-6.3.0"
+      sources."filesize-6.4.0"
       sources."fill-range-7.0.1"
       (sources."finalhandler-1.1.2" // {
         dependencies = [
@@ -82008,9 +82123,9 @@ in
       sources."glob-slasher-1.0.1"
       sources."global-dirs-2.1.0"
       sources."google-auth-library-6.1.6"
-      (sources."google-gax-2.16.0" // {
+      (sources."google-gax-2.17.0" // {
         dependencies = [
-          sources."google-auth-library-7.1.2"
+          sources."google-auth-library-7.2.0"
         ];
       })
       sources."google-p12-pem-3.1.0"
@@ -82308,7 +82423,7 @@ in
       sources."responselike-1.0.2"
       sources."restore-cursor-2.0.0"
       sources."retry-0.12.0"
-      sources."retry-request-4.1.3"
+      sources."retry-request-4.2.1"
       sources."rimraf-3.0.2"
       (sources."router-1.3.5" // {
         dependencies = [
@@ -82505,7 +82620,7 @@ in
       sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
       sources."write-file-atomic-3.0.3"
-      sources."ws-7.5.0"
+      sources."ws-7.5.1"
       sources."xdg-basedir-4.0.0"
       sources."xregexp-2.0.0"
       sources."xtend-4.0.2"
@@ -82765,7 +82880,7 @@ in
     dependencies = [
       sources."@types/atob-2.1.2"
       sources."@types/inquirer-6.5.0"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."@types/through-0.0.30"
       sources."ajv-6.12.6"
       sources."ansi-escapes-4.3.2"
@@ -82938,7 +83053,7 @@ in
       sources."utf8-3.0.0"
       sources."uuid-3.4.0"
       sources."verror-1.10.0"
-      (sources."web3-utils-1.3.6" // {
+      (sources."web3-utils-1.4.0" // {
         dependencies = [
           sources."underscore-1.12.1"
         ];
@@ -83546,12 +83661,12 @@ in
       sources."@turist/fetch-7.1.7"
       sources."@turist/time-0.0.1"
       sources."@types/common-tags-1.8.0"
-      sources."@types/debug-4.1.5"
+      sources."@types/debug-4.1.6"
       sources."@types/istanbul-lib-coverage-2.0.3"
       sources."@types/istanbul-lib-report-3.0.0"
       sources."@types/istanbul-reports-1.1.2"
       sources."@types/json-patch-0.0.30"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."@types/node-fetch-2.5.10"
       sources."@types/readable-stream-2.3.10"
       sources."@types/unist-2.0.3"
@@ -83559,7 +83674,7 @@ in
       sources."@types/yargs-parser-20.2.0"
       sources."@types/yoga-layout-1.9.2"
       sources."accepts-1.3.7"
-      sources."acorn-8.4.0"
+      sources."acorn-8.4.1"
       sources."acorn-jsx-5.3.1"
       sources."address-1.1.2"
       (sources."ansi-align-3.0.0" // {
@@ -83613,13 +83728,12 @@ in
         dependencies = [
           sources."get-stream-5.2.0"
           sources."lowercase-keys-2.0.0"
-          sources."normalize-url-4.5.1"
         ];
       })
       sources."call-bind-1.0.2"
       sources."camel-case-4.1.2"
       sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001241"
       sources."ccount-1.1.0"
       (sources."chalk-4.1.1" // {
         dependencies = [
@@ -83669,7 +83783,7 @@ in
         ];
       })
       sources."content-type-1.0.4"
-      sources."contentful-management-7.25.1"
+      sources."contentful-management-7.27.0"
       sources."contentful-sdk-core-6.8.0"
       sources."convert-hrtime-3.0.0"
       (sources."convert-source-map-1.8.0" // {
@@ -83715,7 +83829,7 @@ in
       sources."dotenv-8.6.0"
       sources."duplexer3-0.1.4"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.765"
       sources."emoji-regex-7.0.3"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
@@ -83898,7 +84012,7 @@ in
       (sources."joi-17.4.0" // {
         dependencies = [
           sources."@hapi/hoek-9.2.0"
-          sources."@hapi/topo-5.0.0"
+          sources."@hapi/topo-5.1.0"
         ];
       })
       sources."js-tokens-4.0.0"
@@ -83964,7 +84078,7 @@ in
       sources."node-object-hash-2.3.7"
       sources."node-releases-1.1.73"
       sources."normalize-path-3.0.0"
-      sources."normalize-url-6.1.0"
+      sources."normalize-url-4.5.1"
       sources."npm-run-path-2.0.2"
       sources."nth-check-2.0.0"
       sources."object-assign-4.1.1"
@@ -83988,7 +84102,7 @@ in
       })
       sources."parse-entities-2.0.0"
       sources."parse-path-4.0.3"
-      sources."parse-url-5.0.3"
+      sources."parse-url-5.0.7"
       sources."parseurl-1.3.3"
       sources."pascal-case-3.1.2"
       sources."path-exists-4.0.0"
@@ -84000,7 +84114,7 @@ in
       sources."picomatch-2.3.0"
       sources."pkg-dir-4.2.0"
       sources."prepend-http-2.0.0"
-      sources."prettier-2.3.1"
+      sources."prettier-2.3.2"
       sources."pretty-error-2.1.2"
       (sources."pretty-format-25.5.0" // {
         dependencies = [
@@ -84193,9 +84307,9 @@ in
       })
       sources."wrappy-1.0.2"
       sources."write-file-atomic-3.0.3"
-      sources."ws-7.5.0"
+      sources."ws-7.5.1"
       sources."xdg-basedir-4.0.0"
-      sources."xstate-4.20.0"
+      sources."xstate-4.20.2"
       sources."xtend-4.0.2"
       sources."y18n-4.0.3"
       sources."yallist-4.0.0"
@@ -84450,7 +84564,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."tweetnacl-auth-0.3.1"
       sources."typedarray-to-buffer-4.0.0"
-      sources."ws-7.5.0"
+      sources."ws-7.5.1"
       sources."xtend-4.0.2"
     ];
     buildInputs = globalBuildInputs;
@@ -84942,7 +85056,7 @@ in
       sources."@nodelib/fs.walk-1.2.7"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."@types/parse-json-4.0.0"
       sources."@types/websocket-1.0.2"
       sources."abort-controller-3.0.0"
@@ -85055,7 +85169,7 @@ in
       sources."extract-files-9.0.0"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-safe-stringify-2.0.7"
       sources."fastq-1.11.0"
@@ -85631,7 +85745,7 @@ in
       sources."ansi-term-0.0.2"
       sources."ansicolors-0.3.2"
       sources."blessed-0.1.81"
-      sources."blessed-contrib-4.9.0"
+      sources."blessed-contrib-4.10.0"
       sources."bresenham-0.0.3"
       sources."buffers-0.1.1"
       sources."cardinal-2.1.1"
@@ -85660,7 +85774,7 @@ in
       sources."lodash-4.17.21"
       sources."lodash.toarray-4.4.0"
       sources."map-canvas-0.1.5"
-      sources."marked-2.1.2"
+      sources."marked-2.1.3"
       (sources."marked-terminal-4.1.1" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -86583,7 +86697,7 @@ in
       sources."param-case-2.1.1"
       sources."relateurl-0.2.7"
       sources."source-map-0.6.1"
-      sources."uglify-js-3.13.9"
+      sources."uglify-js-3.13.10"
       sources."upper-case-1.1.3"
     ];
     buildInputs = globalBuildInputs;
@@ -87248,21 +87362,18 @@ in
       sources."arch-2.2.0"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
-      sources."clipboard-2.0.8"
       sources."clipboardy-2.3.0"
       sources."clone-1.0.4"
       sources."concat-map-0.0.1"
       sources."cross-spawn-6.0.5"
       sources."decimal.js-7.5.1"
       sources."defaults-1.0.3"
-      sources."delegate-3.2.0"
       sources."end-of-stream-1.4.4"
       sources."execa-1.0.0"
       sources."fs-extra-0.24.0"
       sources."fs.realpath-1.0.0"
       sources."get-stream-4.1.0"
       sources."glob-7.1.7"
-      sources."good-listener-1.2.2"
       sources."graceful-fs-4.2.6"
       sources."historic-readline-1.0.8"
       sources."inflight-1.0.6"
@@ -87284,16 +87395,14 @@ in
       sources."p-finally-1.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-key-2.0.1"
-      sources."prismjs-1.23.0"
+      sources."prismjs-1.24.0"
       sources."pump-3.0.0"
       sources."rimraf-2.7.1"
-      sources."select-1.1.2"
       sources."semver-5.7.1"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.3"
       sources."strip-eof-1.0.0"
-      sources."tiny-emitter-2.1.0"
       sources."wcwidth-1.0.1"
       sources."which-1.3.1"
       sources."wrappy-1.0.2"
@@ -87604,7 +87713,7 @@ in
       })
       sources."wrappy-1.0.2"
       sources."write-file-atomic-3.0.3"
-      sources."ws-7.5.0"
+      sources."ws-7.5.1"
       sources."xregexp-2.0.0"
       sources."yallist-3.1.1"
     ];
@@ -87691,7 +87800,7 @@ in
       sources."@ot-builder/trace-1.0.9"
       sources."@ot-builder/var-store-1.0.9"
       sources."@ot-builder/variance-1.0.9"
-      sources."@unicode/unicode-13.0.0-1.0.6"
+      sources."@unicode/unicode-13.0.0-1.1.0"
       sources."aglfn-1.0.2"
       sources."amdefine-1.0.1"
       sources."ansi-regex-5.0.0"
@@ -88002,17 +88111,17 @@ in
   joplin = nodeEnv.buildNodePackage {
     name = "joplin";
     packageName = "joplin";
-    version = "2.0.1";
+    version = "2.1.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/joplin/-/joplin-2.0.1.tgz";
-      sha512 = "NFjW9O1SZp6zN8RUjQA8DGTuoAljN1zKNUpDcEX7uY3hG/V4nqZtZVF0wzZ3EN/UWkx/lIP2FohRv4cUtdrO+A==";
+      url = "https://registry.npmjs.org/joplin/-/joplin-2.1.2.tgz";
+      sha512 = "8xDS/I9zMH0wHuZGZ0xENBn/Ml4gHk2WLMDfShN7L2VNRK/9xowunf2c/fAwI0eNXn/aw2QcMrcgqj37uZ0gbw==";
     };
     dependencies = [
       sources."@braintree/sanitize-url-3.1.0"
       sources."@cronvel/get-pixels-3.4.0"
-      sources."@joplin/fork-htmlparser2-4.1.27"
-      sources."@joplin/fork-sax-1.2.31"
-      (sources."@joplin/lib-2.0.3" // {
+      sources."@joplin/fork-htmlparser2-4.1.28"
+      sources."@joplin/fork-sax-1.2.32"
+      (sources."@joplin/lib-2.1.1" // {
         dependencies = [
           (sources."@joplin/renderer-1.8.2" // {
             dependencies = [
@@ -88022,18 +88131,18 @@ in
           })
         ];
       })
-      (sources."@joplin/renderer-2.0.3" // {
+      (sources."@joplin/renderer-2.1.1" // {
         dependencies = [
           sources."fs-extra-8.1.0"
           sources."uslug-git+https://github.com/laurent22/uslug.git#emoji-support"
         ];
       })
-      (sources."@joplin/turndown-4.0.49" // {
+      (sources."@joplin/turndown-4.0.50" // {
         dependencies = [
           sources."css-2.2.4"
         ];
       })
-      sources."@joplin/turndown-plugin-gfm-1.0.31"
+      sources."@joplin/turndown-plugin-gfm-1.0.32"
       sources."abab-2.0.5"
       sources."abbrev-1.1.1"
       sources."acorn-7.4.1"
@@ -88073,7 +88182,7 @@ in
       sources."async-mutex-0.1.4"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
-      (sources."aws-sdk-2.932.0" // {
+      (sources."aws-sdk-2.938.0" // {
         dependencies = [
           sources."sax-1.2.1"
           sources."uuid-3.3.2"
@@ -88100,7 +88209,6 @@ in
       sources."braces-3.0.2"
       sources."browser-process-hrtime-1.0.0"
       sources."buffer-4.9.2"
-      sources."buffer-from-1.1.1"
       sources."builtin-modules-3.2.0"
       sources."camel-case-3.0.0"
       sources."camelcase-4.1.0"
@@ -88133,7 +88241,6 @@ in
           sources."source-map-resolve-0.6.0"
         ];
       })
-      sources."css-b64-images-0.2.5"
       sources."cssom-0.4.4"
       (sources."cssstyle-2.3.0" // {
         dependencies = [
@@ -88181,7 +88288,7 @@ in
       sources."dagre-d3-0.6.4"
       sources."dashdash-1.14.1"
       sources."data-urls-1.1.0"
-      sources."debug-4.3.2"
+      sources."debug-3.2.7"
       sources."decode-uri-component-0.2.0"
       sources."decompress-response-4.2.1"
       sources."deep-extend-0.6.0"
@@ -88280,11 +88387,6 @@ in
       (sources."html-minifier-3.5.21" // {
         dependencies = [
           sources."commander-2.17.1"
-          (sources."uglify-js-3.4.10" // {
-            dependencies = [
-              sources."commander-2.19.0"
-            ];
-          })
         ];
       })
       sources."http-errors-1.8.0"
@@ -88417,16 +88519,10 @@ in
       sources."md5-2.3.0"
       sources."md5-file-4.0.0"
       sources."mdurl-1.0.1"
-      sources."mermaid-8.10.2"
+      sources."mermaid-8.11.0"
       sources."mime-db-1.48.0"
       sources."mime-types-2.1.31"
       sources."mimic-response-2.1.0"
-      (sources."minify-4.1.3" // {
-        dependencies = [
-          sources."commander-2.20.3"
-          sources."html-minifier-4.0.0"
-        ];
-      })
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       (sources."minipass-2.9.0" // {
@@ -88439,18 +88535,14 @@ in
       sources."mkdirp-classic-0.5.3"
       sources."moment-2.29.1"
       sources."moment-mini-2.24.0"
-      sources."ms-2.1.2"
+      sources."ms-2.1.3"
       sources."multiparty-4.2.2"
       sources."mustache-4.2.0"
       sources."nanoid-3.1.23"
       sources."napi-build-utils-1.0.2"
       sources."ndarray-1.0.19"
       sources."ndarray-pack-1.2.1"
-      (sources."needle-2.6.0" // {
-        dependencies = [
-          sources."debug-3.2.7"
-        ];
-      })
+      sources."needle-2.6.0"
       sources."nextgen-events-1.5.2"
       sources."no-case-2.3.2"
       (sources."node-abi-2.30.0" // {
@@ -88596,7 +88688,6 @@ in
       })
       sources."source-map-0.6.1"
       sources."source-map-resolve-0.5.3"
-      sources."source-map-support-0.5.19"
       sources."source-map-url-0.4.1"
       sources."split-skip-0.0.2"
       sources."sprintf-js-1.1.2"
@@ -88653,11 +88744,6 @@ in
         ];
       })
       sources."terminal-kit-1.49.3"
-      (sources."terser-4.8.0" // {
-        dependencies = [
-          sources."commander-2.20.3"
-        ];
-      })
       (sources."tkwidgets-0.5.26" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
@@ -88674,14 +88760,16 @@ in
       sources."tough-cookie-3.0.1"
       sources."tr46-1.0.1"
       sources."tree-kit-0.6.2"
-      sources."try-catch-2.0.1"
-      sources."try-to-catch-1.1.1"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
       sources."typical-2.6.1"
       sources."uc.micro-1.0.6"
-      sources."uglify-js-3.13.9"
+      (sources."uglify-js-3.4.10" // {
+        dependencies = [
+          sources."commander-2.19.0"
+        ];
+      })
       sources."uglifycss-0.0.29"
       sources."uid-safe-2.1.5"
       sources."unc-path-regex-0.1.2"
@@ -88720,7 +88808,7 @@ in
         ];
       })
       sources."wrappy-1.0.2"
-      sources."ws-7.5.0"
+      sources."ws-7.5.1"
       sources."xml-name-validator-3.0.0"
       sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
@@ -88824,7 +88912,7 @@ in
       sources."lodash-4.17.21"
       sources."markdown-it-10.0.0"
       sources."markdown-it-anchor-5.3.0"
-      sources."marked-2.1.2"
+      sources."marked-2.1.3"
       sources."mdurl-1.0.1"
       sources."mkdirp-1.0.4"
       sources."requizzle-0.2.3"
@@ -89385,7 +89473,7 @@ in
       sources."external-editor-3.1.0"
       sources."extract-stack-2.0.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.11.0"
       (sources."figures-3.2.0" // {
@@ -89556,7 +89644,7 @@ in
       sources."@types/component-emitter-1.2.10"
       sources."@types/cookie-0.4.0"
       sources."@types/cors-2.8.10"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."accepts-1.3.7"
       sources."ansi-regex-5.0.0"
       sources."ansi-styles-4.3.0"
@@ -89887,7 +89975,7 @@ in
       sources."path-parse-1.0.7"
       sources."path-platform-0.11.15"
       sources."pbkdf2-3.1.2"
-      sources."prettier-2.3.1"
+      sources."prettier-2.3.2"
       sources."process-0.11.10"
       sources."process-nextick-args-2.0.1"
       (sources."public-encrypt-4.0.3" // {
@@ -90699,19 +90787,19 @@ in
         ];
       })
       sources."@octokit/graphql-4.6.4"
-      sources."@octokit/openapi-types-7.3.2"
+      sources."@octokit/openapi-types-8.1.4"
       sources."@octokit/plugin-enterprise-rest-6.0.1"
-      sources."@octokit/plugin-paginate-rest-2.13.5"
+      sources."@octokit/plugin-paginate-rest-2.13.6"
       sources."@octokit/plugin-request-log-1.0.4"
-      sources."@octokit/plugin-rest-endpoint-methods-5.3.1"
+      sources."@octokit/plugin-rest-endpoint-methods-5.3.7"
       (sources."@octokit/request-5.6.0" // {
         dependencies = [
           sources."is-plain-object-5.0.0"
         ];
       })
       sources."@octokit/request-error-2.1.0"
-      sources."@octokit/rest-18.6.0"
-      sources."@octokit/types-6.16.4"
+      sources."@octokit/rest-18.6.6"
+      sources."@octokit/types-6.17.4"
       sources."@tootallnate/once-1.1.2"
       sources."@types/minimatch-3.0.4"
       sources."@types/minimist-1.2.1"
@@ -90860,7 +90948,7 @@ in
       })
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.11.0"
       sources."figures-3.2.0"
@@ -90924,7 +91012,7 @@ in
         ];
       })
       sources."git-up-4.0.2"
-      sources."git-url-parse-11.4.4"
+      sources."git-url-parse-11.5.0"
       sources."gitconfiglocal-1.0.0"
       sources."glob-7.1.7"
       sources."glob-parent-5.1.2"
@@ -91101,7 +91189,7 @@ in
           sources."semver-5.7.1"
         ];
       })
-      sources."normalize-url-6.1.0"
+      sources."normalize-url-4.5.1"
       sources."npm-bundled-1.1.2"
       sources."npm-install-checks-4.0.0"
       (sources."npm-lifecycle-3.1.5" // {
@@ -91160,7 +91248,7 @@ in
           sources."qs-6.10.1"
         ];
       })
-      sources."parse-url-5.0.3"
+      sources."parse-url-5.0.7"
       sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-key-3.1.1"
@@ -91291,7 +91379,7 @@ in
       sources."type-fest-0.4.1"
       sources."typedarray-0.0.6"
       sources."typedarray-to-buffer-3.1.5"
-      sources."uglify-js-3.13.9"
+      sources."uglify-js-3.13.10"
       sources."uid-number-0.0.6"
       sources."umask-1.1.0"
       sources."unbox-primitive-1.0.1"
@@ -91309,7 +91397,7 @@ in
       sources."verror-1.10.0"
       sources."wcwidth-1.0.1"
       sources."webidl-conversions-6.1.0"
-      sources."whatwg-url-8.6.0"
+      sources."whatwg-url-8.7.0"
       sources."which-2.0.2"
       sources."which-boxed-primitive-1.0.2"
       (sources."wide-align-1.1.3" // {
@@ -91439,8 +91527,8 @@ in
           sources."normalize-path-2.1.1"
         ];
       })
-      sources."apache-crypt-1.2.4"
-      sources."apache-md5-1.1.5"
+      sources."apache-crypt-1.2.5"
+      sources."apache-md5-1.1.7"
       sources."arr-diff-4.0.0"
       sources."arr-flatten-1.1.0"
       sources."arr-union-3.1.0"
@@ -92378,14 +92466,14 @@ in
       sources."@types/babel__core-7.1.14"
       sources."@types/babel__generator-7.6.2"
       sources."@types/babel__template-7.4.0"
-      sources."@types/babel__traverse-7.11.1"
-      sources."@types/estree-0.0.48"
+      sources."@types/babel__traverse-7.14.0"
+      sources."@types/estree-0.0.49"
       sources."@types/graceful-fs-4.1.5"
       sources."@types/istanbul-lib-coverage-2.0.3"
       sources."@types/istanbul-lib-report-3.0.0"
       sources."@types/istanbul-reports-1.1.2"
       sources."@types/json-schema-7.0.7"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."@types/normalize-package-data-2.4.0"
       sources."@types/resolve-0.0.8"
       sources."@types/yargs-15.0.13"
@@ -92558,7 +92646,7 @@ in
       sources."cached-path-relative-1.0.2"
       sources."call-bind-1.0.2"
       sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001241"
       sources."capture-exit-2.0.0"
       sources."caseless-0.12.0"
       (sources."chalk-3.0.0" // {
@@ -92630,7 +92718,7 @@ in
       })
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.12"
-      (sources."core-js-compat-3.15.1" // {
+      (sources."core-js-compat-3.15.2" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -92682,7 +92770,7 @@ in
       sources."duplexer2-0.1.4"
       sources."duplexify-3.7.1"
       sources."ecc-jsbn-0.1.2"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.765"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -93537,7 +93625,7 @@ in
       sources."link-check-4.5.4"
       sources."lodash-4.17.21"
       sources."markdown-link-extractor-1.3.0"
-      sources."marked-2.1.2"
+      sources."marked-2.1.3"
       sources."mime-db-1.48.0"
       sources."mime-types-2.1.31"
       sources."ms-2.1.3"
@@ -93572,10 +93660,10 @@ in
   mastodon-bot = nodeEnv.buildNodePackage {
     name = "mastodon-bot";
     packageName = "mastodon-bot";
-    version = "1.12.1-20210623060235";
+    version = "1.13.5-20210701203013";
     src = fetchurl {
-      url = "https://registry.npmjs.org/mastodon-bot/-/mastodon-bot-1.12.1-20210623060235.tgz";
-      sha512 = "eXao5YnfoIQ4hqVmzCN2HT6GXfgYuReCPNlDz54Yn8YtUxwdhQZ9KnQo9t0ex4Bl6rrAZ0Po8GuVIzTVn22o4Q==";
+      url = "https://registry.npmjs.org/mastodon-bot/-/mastodon-bot-1.13.5-20210701203013.tgz";
+      sha512 = "d5HCg9yu6xhFWnUPKBFSzPoXsxXRCYrmy4AGMvjlifWqQnCf9EklbocqVZSO1j50JRymlfDELq1QO/WYKZ5TYQ==";
     };
     dependencies = [
       sources."acorn-5.7.4"
@@ -93923,14 +94011,14 @@ in
   "@mermaid-js/mermaid-cli" = nodeEnv.buildNodePackage {
     name = "_at_mermaid-js_slash_mermaid-cli";
     packageName = "@mermaid-js/mermaid-cli";
-    version = "8.10.2";
+    version = "8.11.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@mermaid-js/mermaid-cli/-/mermaid-cli-8.10.2.tgz";
-      sha512 = "aoGVAZC/goUc6iWYef5aRjCwITojjWvlEj+qPHCEbAGisR4md3fi3+3iDD3ra+zhagfXJZ1Qyo5+3lVkJPaC6Q==";
+      url = "https://registry.npmjs.org/@mermaid-js/mermaid-cli/-/mermaid-cli-8.11.0.tgz";
+      sha512 = "UyYOnVhvKcfh9e2S4QnK53uRa2hvdgQVo3ZT+FcaP56ZeBDNWKB3IZI/sNzAbxqJBEuRpW6HxoEzHCleis1dFw==";
     };
     dependencies = [
       sources."@braintree/sanitize-url-3.1.0"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."@types/yauzl-2.9.1"
       sources."agent-base-6.0.2"
       sources."ansi-styles-4.3.0"
@@ -93940,16 +94028,12 @@ in
       sources."brace-expansion-1.1.11"
       sources."buffer-5.7.1"
       sources."buffer-crc32-0.2.13"
-      sources."buffer-from-1.1.1"
-      sources."camel-case-3.0.0"
       sources."chalk-4.1.1"
       sources."chownr-1.1.4"
-      sources."clean-css-4.2.3"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."commander-7.2.0"
+      sources."commander-8.0.0"
       sources."concat-map-0.0.1"
-      sources."css-b64-images-0.2.5"
       sources."d3-5.16.0"
       sources."d3-array-1.2.4"
       sources."d3-axis-1.0.12"
@@ -94002,11 +94086,6 @@ in
       sources."graphlib-2.1.8"
       sources."has-flag-4.0.0"
       sources."he-1.2.0"
-      (sources."html-minifier-4.0.0" // {
-        dependencies = [
-          sources."commander-2.20.3"
-        ];
-      })
       sources."https-proxy-agent-5.0.0"
       sources."iconv-lite-0.4.24"
       sources."ieee754-1.2.1"
@@ -94015,21 +94094,17 @@ in
       sources."khroma-1.4.1"
       sources."locate-path-5.0.0"
       sources."lodash-4.17.21"
-      sources."lower-case-1.1.4"
-      sources."mermaid-8.10.2"
-      sources."minify-4.1.3"
+      sources."mermaid-8.11.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."moment-mini-2.24.0"
       sources."ms-2.1.2"
-      sources."no-case-2.3.2"
       sources."node-fetch-2.6.1"
       sources."once-1.4.0"
       sources."p-limit-2.3.0"
       sources."p-locate-4.1.0"
       sources."p-try-2.2.0"
-      sources."param-case-2.1.1"
       sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."pend-1.2.0"
@@ -94037,31 +94112,19 @@ in
       sources."progress-2.0.1"
       sources."proxy-from-env-1.1.0"
       sources."pump-3.0.0"
-      sources."puppeteer-10.0.0"
+      sources."puppeteer-10.1.0"
       sources."readable-stream-3.6.0"
-      sources."relateurl-0.2.7"
       sources."rimraf-3.0.2"
       sources."rw-1.3.3"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
-      sources."source-map-0.6.1"
-      sources."source-map-support-0.5.19"
       sources."string_decoder-1.3.0"
       sources."stylis-3.5.4"
       sources."supports-color-7.2.0"
       sources."tar-fs-2.0.0"
       sources."tar-stream-2.2.0"
-      (sources."terser-4.8.0" // {
-        dependencies = [
-          sources."commander-2.20.3"
-        ];
-      })
       sources."through-2.3.8"
-      sources."try-catch-2.0.1"
-      sources."try-to-catch-1.1.1"
-      sources."uglify-js-3.13.9"
       sources."unbzip2-stream-1.3.3"
-      sources."upper-case-1.1.3"
       sources."util-deprecate-1.0.2"
       sources."wrappy-1.0.2"
       sources."ws-7.4.6"
@@ -94080,29 +94143,30 @@ in
   mirakurun = nodeEnv.buildNodePackage {
     name = "mirakurun";
     packageName = "mirakurun";
-    version = "3.5.0";
+    version = "3.6.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/mirakurun/-/mirakurun-3.5.0.tgz";
-      sha512 = "j2ukrvANZQUreLl2grOQxPl0pbRSoJthYLqujdphZdwJyDwYjPqGOs+KrWwY26QbfqG2Toy06qFnYTaGx9txIg==";
+      url = "https://registry.npmjs.org/mirakurun/-/mirakurun-3.6.0.tgz";
+      sha512 = "LrJqn/26CxH9aQ9j7iPqnk9fS6ywI3gpCt7HS26UXeycC3VBfhkoONLZQW/JXW3aJGoUHUlxunsQBI0h89EJIw==";
     };
     dependencies = [
-      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.172.1"
-      sources."@fluentui/react-focus-7.17.6"
-      sources."@fluentui/react-window-provider-1.0.2"
-      sources."@fluentui/theme-1.7.4"
-      sources."@microsoft/load-themed-styles-1.10.185"
+      sources."@fluentui/date-time-utilities-8.2.0"
+      sources."@fluentui/dom-utilities-2.1.2"
+      sources."@fluentui/font-icons-mdl2-8.1.4"
+      sources."@fluentui/foundation-legacy-8.1.4"
+      sources."@fluentui/keyboard-key-0.3.2"
+      sources."@fluentui/merge-styles-8.1.2"
+      sources."@fluentui/react-8.22.0"
+      sources."@fluentui/react-focus-8.1.5"
+      sources."@fluentui/react-hooks-8.2.3"
+      sources."@fluentui/react-window-provider-2.1.2"
+      sources."@fluentui/set-version-8.1.2"
+      sources."@fluentui/style-utilities-8.1.4"
+      sources."@fluentui/theme-2.1.3"
+      sources."@fluentui/utilities-8.2.0"
+      sources."@microsoft/load-themed-styles-1.10.190"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@uifabric/foundation-7.9.26"
-      sources."@uifabric/icons-7.5.23"
-      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.19.0"
-      sources."@uifabric/utilities-7.33.5"
+      sources."@types/cors-2.8.10"
       sources."accepts-1.3.7"
       sources."ajv-6.12.6"
       sources."ansi-escapes-1.4.0"
@@ -94144,6 +94208,7 @@ in
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
       sources."core-js-2.6.12"
+      sources."cors-2.8.5"
       sources."crc-3.8.0"
       sources."debug-2.6.9"
       sources."decompress-response-3.3.0"
@@ -94197,7 +94262,11 @@ in
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-stream-1.1.0"
       sources."js-tokens-4.0.0"
-      sources."js-yaml-3.14.1"
+      (sources."js-yaml-4.1.0" // {
+        dependencies = [
+          sources."argparse-2.0.1"
+        ];
+      })
       sources."json-buffer-3.0.0"
       sources."json-schema-traverse-0.4.1"
       sources."keyv-3.1.0"
@@ -94229,13 +94298,16 @@ in
       sources."node-fetch-1.6.3"
       sources."normalize-url-4.5.1"
       sources."object-assign-4.1.1"
-      sources."office-ui-fabric-react-7.172.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."openapi-framework-7.5.0"
+      (sources."openapi-framework-7.5.0" // {
+        dependencies = [
+          sources."js-yaml-3.14.1"
+        ];
+      })
       sources."openapi-jsonschema-parameters-7.2.3"
       sources."openapi-request-coercer-7.5.0"
       sources."openapi-request-validator-7.4.0"
@@ -94264,7 +94336,6 @@ in
       sources."pinkie-promise-2.0.1"
       sources."prepend-http-2.0.0"
       sources."promise-queue-2.2.5"
-      sources."prop-types-15.7.2"
       sources."proxy-addr-2.0.7"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
@@ -94272,9 +94343,8 @@ in
       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."readable-stream-3.6.0"
       sources."regenerator-runtime-0.10.5"
       sources."registry-auth-token-4.2.1"
@@ -94285,7 +94355,7 @@ in
       sources."rx-4.1.0"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
-      sources."scheduler-0.19.1"
+      sources."scheduler-0.20.2"
       sources."semver-7.3.5"
       (sources."send-0.17.1" // {
         dependencies = [
@@ -94320,14 +94390,14 @@ in
       sources."strip-json-comments-2.0.1"
       sources."supports-color-2.0.0"
       sources."swagger-schema-official-2.0.0-bab6bed"
-      sources."swagger-ui-dist-3.50.0"
+      sources."swagger-ui-dist-3.51.1"
       sources."tail-2.2.3"
       sources."through-2.3.8"
       sources."tmp-0.0.33"
       sources."to-readable-stream-1.0.0"
       sources."toidentifier-1.0.0"
       sources."ts-log-2.2.3"
-      sources."tslib-1.14.1"
+      sources."tslib-2.3.0"
       sources."type-is-1.6.18"
       sources."unpipe-1.0.0"
       sources."uri-js-4.4.1"
@@ -94606,10 +94676,10 @@ in
   netlify-cli = nodeEnv.buildNodePackage {
     name = "netlify-cli";
     packageName = "netlify-cli";
-    version = "3.38.7";
+    version = "4.0.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/netlify-cli/-/netlify-cli-3.38.7.tgz";
-      sha512 = "q95l1GhUbv1VgePfCHuNREvmGO7dN9H+kSw5esaxNITa/+67xXP4PA2dzJaylTXciEF3NdIhTdXCC9j/CUs4EQ==";
+      url = "https://registry.npmjs.org/netlify-cli/-/netlify-cli-4.0.5.tgz";
+      sha512 = "p1wJwMMWHM/Av5/Bsabtr0UTX4lTJVZg7Hz+G9kbA/n2wdKoWAj5P5B+shDRGRBhaFDbCiHf36baKtLJWP4SiQ==";
     };
     dependencies = [
       sources."@babel/code-frame-7.14.5"
@@ -94734,37 +94804,22 @@ in
       sources."@babel/template-7.14.5"
       sources."@babel/traverse-7.14.7"
       sources."@babel/types-7.14.5"
-      sources."@bugsnag/browser-7.10.1"
+      sources."@bugsnag/browser-7.10.4"
       sources."@bugsnag/core-7.10.0"
       sources."@bugsnag/cuid-3.0.0"
-      sources."@bugsnag/js-7.10.1"
+      sources."@bugsnag/js-7.10.4"
       sources."@bugsnag/node-7.10.1"
       sources."@bugsnag/safe-json-stringify-6.0.0"
       sources."@dabh/diagnostics-2.0.2"
       sources."@jest/types-24.9.0"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
-      (sources."@netlify/build-12.7.2" // {
+      (sources."@netlify/build-12.26.0" // {
         dependencies = [
-          sources."@netlify/config-7.7.1"
-          (sources."@netlify/zip-it-and-ship-it-4.4.2" // {
-            dependencies = [
-              sources."find-up-5.0.0"
-              sources."locate-path-6.0.0"
-              sources."p-locate-5.0.0"
-              sources."pkg-dir-5.0.0"
-              sources."semver-7.3.5"
-              sources."yargs-16.2.0"
-            ];
-          })
           sources."ansi-styles-4.3.0"
           sources."chalk-3.0.0"
-          sources."cp-file-9.1.0"
-          sources."dot-prop-5.3.0"
           sources."execa-3.4.0"
-          sources."find-up-4.1.0"
           sources."is-plain-obj-2.1.0"
           sources."locate-path-5.0.0"
-          sources."netlify-redirect-parser-7.0.0"
           sources."resolve-2.0.0-next.3"
           sources."semver-6.3.0"
           sources."update-notifier-4.1.3"
@@ -94778,7 +94833,7 @@ in
           sources."slash-3.0.0"
         ];
       })
-      (sources."@netlify/config-8.0.0" // {
+      (sources."@netlify/config-9.5.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-3.0.0"
@@ -94790,20 +94845,13 @@ in
         ];
       })
       sources."@netlify/esbuild-0.13.6"
-      (sources."@netlify/framework-info-5.3.0" // {
+      (sources."@netlify/framework-info-5.5.0" // {
         dependencies = [
+          sources."p-limit-3.1.0"
           sources."p-locate-5.0.0"
         ];
       })
-      (sources."@netlify/functions-utils-1.3.46" // {
-        dependencies = [
-          sources."@netlify/zip-it-and-ship-it-4.4.2"
-          sources."cp-file-9.1.0"
-          sources."pkg-dir-5.0.0"
-          sources."resolve-2.0.0-next.3"
-          sources."yargs-16.2.0"
-        ];
-      })
+      sources."@netlify/functions-utils-1.4.1"
       (sources."@netlify/git-utils-1.0.11" // {
         dependencies = [
           sources."braces-3.0.2"
@@ -94818,22 +94866,24 @@ in
       (sources."@netlify/plugin-edge-handlers-1.11.19" // {
         dependencies = [
           sources."@types/node-14.17.4"
-          sources."typescript-4.3.4"
         ];
       })
-      sources."@netlify/plugins-list-2.18.0"
-      sources."@netlify/routing-local-proxy-0.30.1"
+      sources."@netlify/plugins-list-2.18.1"
+      sources."@netlify/routing-local-proxy-0.30.2"
       (sources."@netlify/run-utils-1.0.7" // {
         dependencies = [
           sources."execa-3.4.0"
         ];
       })
-      (sources."@netlify/zip-it-and-ship-it-4.5.1" // {
+      (sources."@netlify/zip-it-and-ship-it-4.8.0" // {
         dependencies = [
+          sources."cliui-7.0.4"
           sources."cp-file-9.1.0"
           sources."pkg-dir-5.0.0"
           sources."resolve-2.0.0-next.3"
+          sources."y18n-5.0.8"
           sources."yargs-16.2.0"
+          sources."yargs-parser-20.2.9"
         ];
       })
       (sources."@nodelib/fs.scandir-2.1.5" // {
@@ -94872,7 +94922,7 @@ in
           sources."array-union-2.1.0"
           sources."braces-3.0.2"
           sources."dir-glob-3.0.1"
-          sources."fast-glob-3.2.5"
+          sources."fast-glob-3.2.6"
           sources."fill-range-7.0.1"
           sources."glob-parent-5.1.2"
           sources."globby-11.0.4"
@@ -94931,7 +94981,7 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      (sources."@oclif/plugin-plugins-1.10.0" // {
+      (sources."@oclif/plugin-plugins-1.10.1" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."jsonfile-6.1.0"
@@ -94948,18 +94998,18 @@ in
         ];
       })
       sources."@octokit/graphql-4.6.4"
-      sources."@octokit/openapi-types-7.3.2"
-      sources."@octokit/plugin-paginate-rest-2.13.5"
+      sources."@octokit/openapi-types-8.1.4"
+      sources."@octokit/plugin-paginate-rest-2.13.6"
       sources."@octokit/plugin-request-log-1.0.4"
-      sources."@octokit/plugin-rest-endpoint-methods-5.3.1"
+      sources."@octokit/plugin-rest-endpoint-methods-5.3.7"
       (sources."@octokit/request-5.6.0" // {
         dependencies = [
           sources."is-plain-object-5.0.0"
         ];
       })
       sources."@octokit/request-error-2.1.0"
-      sources."@octokit/rest-18.6.0"
-      sources."@octokit/types-6.16.4"
+      sources."@octokit/rest-18.6.6"
+      sources."@octokit/types-6.17.4"
       sources."@rollup/plugin-babel-5.3.0"
       (sources."@rollup/plugin-commonjs-18.1.0" // {
         dependencies = [
@@ -94996,7 +95046,7 @@ in
       sources."@types/istanbul-reports-1.1.2"
       sources."@types/keyv-3.1.1"
       sources."@types/minimatch-3.0.4"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."@types/node-fetch-2.5.10"
       sources."@types/normalize-package-data-2.4.0"
       sources."@types/resolve-1.17.1"
@@ -95004,14 +95054,14 @@ in
       sources."@types/semver-7.3.6"
       sources."@types/yargs-13.0.11"
       sources."@types/yargs-parser-20.2.0"
-      sources."@typescript-eslint/types-4.28.0"
-      (sources."@typescript-eslint/typescript-estree-4.28.0" // {
+      sources."@typescript-eslint/types-4.28.1"
+      (sources."@typescript-eslint/typescript-estree-4.28.1" // {
         dependencies = [
           sources."@nodelib/fs.stat-2.0.5"
           sources."array-union-2.1.0"
           sources."braces-3.0.2"
           sources."dir-glob-3.0.1"
-          sources."fast-glob-3.2.5"
+          sources."fast-glob-3.2.6"
           sources."fill-range-7.0.1"
           sources."glob-parent-5.1.2"
           sources."globby-11.0.4"
@@ -95022,10 +95072,10 @@ in
           sources."to-regex-range-5.0.1"
         ];
       })
-      sources."@typescript-eslint/visitor-keys-4.28.0"
+      sources."@typescript-eslint/visitor-keys-4.28.1"
       sources."@ungap/from-entries-0.2.1"
       sources."accepts-1.3.7"
-      sources."acorn-8.4.0"
+      sources."acorn-8.4.1"
       sources."agent-base-6.0.2"
       sources."aggregate-error-3.1.0"
       sources."ajv-8.6.0"
@@ -95085,13 +95135,6 @@ in
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
       sources."atob-2.1.2"
-      (sources."aws-sdk-2.932.0" // {
-        dependencies = [
-          sources."buffer-4.9.2"
-          sources."ieee754-1.1.13"
-          sources."uuid-3.3.2"
-        ];
-      })
       sources."babel-plugin-dynamic-import-node-2.3.3"
       (sources."babel-plugin-polyfill-corejs2-0.2.2" // {
         dependencies = [
@@ -95161,7 +95204,7 @@ in
       sources."call-me-maybe-1.0.1"
       sources."callsite-1.0.0"
       sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001241"
       sources."cardinal-2.1.1"
       (sources."chalk-4.1.1" // {
         dependencies = [
@@ -95229,7 +95272,12 @@ in
         ];
       })
       sources."cli-width-2.2.1"
-      sources."cliui-7.0.4"
+      (sources."cliui-6.0.0" // {
+        dependencies = [
+          sources."ansi-styles-4.3.0"
+          sources."wrap-ansi-6.2.0"
+        ];
+      })
       sources."clone-1.0.4"
       sources."clone-response-1.0.2"
       sources."code-point-at-1.1.0"
@@ -95281,7 +95329,7 @@ in
           sources."safe-buffer-5.1.2"
         ];
       })
-      (sources."core-js-compat-3.15.1" // {
+      (sources."core-js-compat-3.15.2" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -95362,7 +95410,7 @@ in
           sources."array-union-2.1.0"
           sources."braces-3.0.2"
           sources."dir-glob-3.0.1"
-          sources."fast-glob-3.2.5"
+          sources."fast-glob-3.2.6"
           sources."fill-range-7.0.1"
           sources."glob-parent-5.1.2"
           sources."globby-11.0.4"
@@ -95385,7 +95433,11 @@ in
       sources."detective-sass-3.0.1"
       sources."detective-scss-2.0.1"
       sources."detective-stylus-1.0.0"
-      sources."detective-typescript-7.0.0"
+      (sources."detective-typescript-7.0.0" // {
+        dependencies = [
+          sources."typescript-3.9.10"
+        ];
+      })
       (sources."dir-glob-2.2.2" // {
         dependencies = [
           sources."path-type-3.0.0"
@@ -95423,7 +95475,7 @@ in
       })
       sources."duplexer3-0.1.4"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.765"
       sources."elegant-spinner-1.0.1"
       sources."elf-cam-0.1.1"
       sources."emoji-regex-8.0.0"
@@ -95450,7 +95502,6 @@ in
       sources."esutils-2.0.3"
       sources."etag-1.8.1"
       sources."eventemitter3-4.0.7"
-      sources."events-1.1.1"
       (sources."execa-5.1.1" // {
         dependencies = [
           sources."get-stream-6.0.1"
@@ -95613,7 +95664,7 @@ in
           sources."array-union-2.1.0"
           sources."braces-3.0.2"
           sources."dir-glob-3.0.1"
-          sources."fast-glob-3.2.5"
+          sources."fast-glob-3.2.6"
           sources."fill-range-7.0.1"
           sources."glob-parent-5.1.2"
           sources."ignore-5.1.8"
@@ -95784,7 +95835,6 @@ in
         ];
       })
       sources."jest-worker-26.6.2"
-      sources."jmespath-0.15.0"
       sources."js-string-escape-1.0.1"
       sources."js-tokens-4.0.0"
       sources."js-yaml-4.1.0"
@@ -95805,10 +95855,9 @@ in
       sources."keyv-3.1.0"
       sources."kind-of-6.0.3"
       sources."kuler-2.0.0"
-      (sources."lambda-local-1.7.4" // {
+      (sources."lambda-local-2.0.0" // {
         dependencies = [
-          sources."commander-6.2.1"
-          sources."dotenv-8.6.0"
+          sources."commander-7.2.0"
         ];
       })
       sources."latest-version-5.1.0"
@@ -95858,6 +95907,7 @@ in
       })
       (sources."locate-path-6.0.0" // {
         dependencies = [
+          sources."p-limit-3.1.0"
           sources."p-locate-5.0.0"
         ];
       })
@@ -96092,12 +96142,8 @@ in
       })
       sources."p-finally-2.0.1"
       sources."p-is-promise-1.1.0"
-      sources."p-limit-3.1.0"
-      (sources."p-locate-4.1.0" // {
-        dependencies = [
-          sources."p-limit-2.3.0"
-        ];
-      })
+      sources."p-limit-2.3.0"
+      sources."p-locate-4.1.0"
       sources."p-map-4.0.0"
       sources."p-reduce-2.1.0"
       (sources."p-timeout-2.0.1" // {
@@ -96184,7 +96230,6 @@ in
       sources."pupa-2.1.1"
       sources."qs-6.7.0"
       sources."query-string-5.1.1"
-      sources."querystring-0.2.0"
       sources."queue-microtask-1.2.3"
       sources."random-bytes-1.0.0"
       sources."randombytes-2.1.0"
@@ -96247,7 +96292,7 @@ in
       sources."ret-0.1.15"
       sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
-      sources."rollup-2.52.2"
+      sources."rollup-2.52.7"
       (sources."rollup-plugin-inject-3.0.2" // {
         dependencies = [
           sources."estree-walker-0.6.1"
@@ -96268,7 +96313,6 @@ in
       sources."safe-json-stringify-1.2.0"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
-      sources."sax-1.2.1"
       sources."seek-bzip-1.0.6"
       sources."semver-7.3.5"
       (sources."semver-diff-3.1.1" // {
@@ -96433,7 +96477,7 @@ in
         ];
       })
       sources."term-size-2.2.1"
-      (sources."terser-5.7.0" // {
+      (sources."terser-5.7.1" // {
         dependencies = [
           sources."source-map-0.7.3"
         ];
@@ -96475,7 +96519,7 @@ in
       sources."type-fest-0.21.3"
       sources."type-is-1.6.18"
       sources."typedarray-to-buffer-3.1.5"
-      sources."typescript-3.9.10"
+      sources."typescript-4.3.5"
       sources."uid-safe-2.1.5"
       sources."unbzip2-stream-1.4.3"
       sources."unicode-canonical-property-names-ecmascript-1.0.4"
@@ -96516,11 +96560,6 @@ in
       })
       sources."uri-js-4.4.1"
       sources."urix-0.1.0"
-      (sources."url-0.10.3" // {
-        dependencies = [
-          sources."punycode-1.3.2"
-        ];
-      })
       sources."url-parse-lax-3.0.0"
       sources."url-to-options-1.0.1"
       sources."use-3.1.1"
@@ -96576,23 +96615,16 @@ in
       sources."wrappy-1.0.2"
       sources."write-file-atomic-3.0.3"
       sources."xdg-basedir-4.0.0"
-      sources."xml2js-0.4.19"
-      sources."xmlbuilder-9.0.7"
       sources."xtend-4.0.2"
-      sources."y18n-5.0.8"
+      sources."y18n-4.0.3"
       sources."yallist-4.0.0"
       (sources."yargs-15.4.1" // {
         dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."cliui-6.0.0"
           sources."find-up-4.1.0"
           sources."locate-path-5.0.0"
-          sources."wrap-ansi-6.2.0"
-          sources."y18n-4.0.3"
-          sources."yargs-parser-18.1.3"
         ];
       })
-      sources."yargs-parser-20.2.9"
+      sources."yargs-parser-18.1.3"
       sources."yarn-1.22.10"
       sources."yauzl-2.10.0"
       sources."yocto-queue-0.1.0"
@@ -97436,7 +97468,7 @@ in
           sources."ms-2.1.2"
           sources."readable-stream-3.6.0"
           sources."string_decoder-1.3.0"
-          sources."ws-7.5.0"
+          sources."ws-7.5.1"
         ];
       })
       (sources."mqtt-packet-6.10.0" // {
@@ -97823,10 +97855,10 @@ in
   nodemon = nodeEnv.buildNodePackage {
     name = "nodemon";
     packageName = "nodemon";
-    version = "2.0.7";
+    version = "2.0.9";
     src = fetchurl {
-      url = "https://registry.npmjs.org/nodemon/-/nodemon-2.0.7.tgz";
-      sha512 = "XHzK69Awgnec9UzHr1kc8EomQh4sjTQ8oRf8TsGrSmHDx9/UmiGG9E/mM3BuTfNeFwdNBvrqQq/RHL0xIeyFOA==";
+      url = "https://registry.npmjs.org/nodemon/-/nodemon-2.0.9.tgz";
+      sha512 = "6O4k7C8f2HQArGpaPBOqGGddjzDLQAqCYmq3tKMeNIbz7Is/hOphMHy2dcY10sSq5wl3cqyn9Iz+Ep2j51JOLg==";
     };
     dependencies = [
       sources."@sindresorhus/is-0.14.0"
@@ -98019,7 +98051,7 @@ in
       sources."@types/http-cache-semantics-4.0.0"
       sources."@types/keyv-3.1.1"
       sources."@types/minimist-1.2.1"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."@types/normalize-package-data-2.4.0"
       sources."@types/parse-json-4.0.0"
       sources."@types/responselike-1.0.0"
@@ -98114,7 +98146,7 @@ in
       sources."escape-string-regexp-4.0.0"
       sources."execa-5.1.1"
       sources."external-editor-3.1.0"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fastq-1.11.0"
       (sources."figures-3.2.0" // {
         dependencies = [
@@ -98523,10 +98555,10 @@ in
   npm = nodeEnv.buildNodePackage {
     name = "npm";
     packageName = "npm";
-    version = "7.18.1";
+    version = "7.19.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm/-/npm-7.18.1.tgz";
-      sha512 = "fu7rMtc4ZaDnFlZsiLhqwWWs6KixOcBGiBLoJH+AbuaznwtT8mYQnq5nGNN14Jib+E9OjkjNRgg+X45Ia9xtKQ==";
+      url = "https://registry.npmjs.org/npm/-/npm-7.19.1.tgz";
+      sha512 = "aN3hZzGkPzKOyhjXtOhnQTGumorFhgpOU6xfuQsF1nJKh4DhsgfOMG4s/SNx56r4xHPvM5m/sk914wzDgKba3A==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -98646,7 +98678,7 @@ in
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.11.0"
       sources."figgy-pudding-3.5.2"
@@ -99370,7 +99402,7 @@ in
       sources."caller-path-2.0.0"
       sources."callsites-2.0.0"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001241"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
       sources."chokidar-2.1.8"
@@ -99397,7 +99429,7 @@ in
       sources."convert-source-map-1.8.0"
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.12"
-      (sources."core-js-compat-3.15.1" // {
+      (sources."core-js-compat-3.15.2" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -99508,7 +99540,7 @@ in
       sources."duplexer2-0.1.4"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.765"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -99616,7 +99648,7 @@ in
           sources."posthtml-0.15.2"
           sources."posthtml-parser-0.7.2"
           sources."source-map-0.7.3"
-          sources."terser-5.7.0"
+          sources."terser-5.7.1"
         ];
       })
       (sources."htmlparser2-6.1.0" // {
@@ -100379,7 +100411,7 @@ in
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-is-1.6.18"
-      sources."uglify-js-3.13.9"
+      sources."uglify-js-3.13.10"
       sources."unix-dgram-2.0.4"
       sources."unpipe-1.0.0"
       sources."uri-js-4.4.1"
@@ -101164,6 +101196,194 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  pkg = nodeEnv.buildNodePackage {
+    name = "pkg";
+    packageName = "pkg";
+    version = "5.3.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/pkg/-/pkg-5.3.0.tgz";
+      sha512 = "/DGG+QcSPraMAIxaoGCNqb2A6Xkm2jBQMsj2mjb4ag236ByTY9Xhpikvj5ixwlSQV0euuJw4fphKCd5YHRPS8w==";
+    };
+    dependencies = [
+      sources."@babel/helper-validator-identifier-7.14.5"
+      sources."@babel/parser-7.13.13"
+      sources."@babel/types-7.13.12"
+      sources."@nodelib/fs.scandir-2.1.5"
+      sources."@nodelib/fs.stat-2.0.5"
+      sources."@nodelib/fs.walk-1.2.7"
+      sources."agent-base-6.0.2"
+      sources."ansi-regex-5.0.0"
+      sources."ansi-styles-4.3.0"
+      sources."aproba-1.2.0"
+      sources."are-we-there-yet-1.1.5"
+      sources."array-union-2.1.0"
+      sources."at-least-node-1.0.0"
+      sources."base64-js-1.5.1"
+      (sources."bl-4.1.0" // {
+        dependencies = [
+          sources."readable-stream-3.6.0"
+        ];
+      })
+      sources."braces-3.0.2"
+      sources."buffer-5.7.1"
+      sources."chalk-4.1.1"
+      sources."chownr-1.1.4"
+      sources."cliui-7.0.4"
+      sources."code-point-at-1.1.0"
+      sources."color-convert-2.0.1"
+      sources."color-name-1.1.4"
+      sources."console-control-strings-1.1.0"
+      sources."core-util-is-1.0.2"
+      sources."debug-4.3.2"
+      sources."decompress-response-4.2.1"
+      sources."deep-extend-0.6.0"
+      sources."deep-is-0.1.3"
+      sources."delegates-1.0.0"
+      sources."detect-libc-1.0.3"
+      sources."dir-glob-3.0.1"
+      sources."emoji-regex-8.0.0"
+      sources."end-of-stream-1.4.4"
+      sources."escalade-3.1.1"
+      sources."escodegen-2.0.0"
+      sources."esprima-4.0.1"
+      sources."estraverse-5.2.0"
+      sources."esutils-2.0.3"
+      sources."expand-template-2.0.3"
+      sources."fast-glob-3.2.6"
+      sources."fast-levenshtein-2.0.6"
+      sources."fastq-1.11.0"
+      sources."fill-range-7.0.1"
+      sources."from2-2.3.0"
+      sources."fs-constants-1.0.0"
+      sources."fs-extra-9.1.0"
+      sources."function-bind-1.1.1"
+      (sources."gauge-2.7.4" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."is-fullwidth-code-point-1.0.0"
+          sources."string-width-1.0.2"
+          sources."strip-ansi-3.0.1"
+        ];
+      })
+      sources."get-caller-file-2.0.5"
+      sources."github-from-package-0.0.0"
+      sources."glob-parent-5.1.2"
+      sources."globby-11.0.4"
+      sources."graceful-fs-4.2.6"
+      sources."has-1.0.3"
+      sources."has-flag-4.0.0"
+      sources."has-unicode-2.0.1"
+      sources."https-proxy-agent-5.0.0"
+      sources."ieee754-1.2.1"
+      sources."ignore-5.1.8"
+      sources."inherits-2.0.4"
+      sources."ini-1.3.8"
+      sources."into-stream-6.0.0"
+      sources."is-core-module-2.4.0"
+      sources."is-extglob-2.1.1"
+      sources."is-fullwidth-code-point-3.0.0"
+      sources."is-glob-4.0.1"
+      sources."is-number-7.0.0"
+      sources."isarray-1.0.0"
+      sources."jsonfile-6.1.0"
+      sources."levn-0.3.0"
+      sources."lodash-4.17.21"
+      sources."lru-cache-6.0.0"
+      sources."merge2-1.4.1"
+      sources."micromatch-4.0.4"
+      sources."mimic-response-2.1.0"
+      sources."minimist-1.2.5"
+      sources."mkdirp-classic-0.5.3"
+      sources."ms-2.1.2"
+      (sources."multistream-4.1.0" // {
+        dependencies = [
+          sources."readable-stream-3.6.0"
+        ];
+      })
+      sources."napi-build-utils-1.0.2"
+      (sources."node-abi-2.30.0" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
+      sources."node-fetch-2.6.1"
+      sources."noop-logger-0.1.1"
+      sources."npmlog-4.1.2"
+      sources."number-is-nan-1.0.1"
+      sources."object-assign-4.1.1"
+      sources."once-1.4.0"
+      sources."optionator-0.8.3"
+      sources."p-is-promise-3.0.0"
+      sources."path-parse-1.0.7"
+      sources."path-type-4.0.0"
+      sources."picomatch-2.3.0"
+      sources."pkg-fetch-3.1.1"
+      sources."prebuild-install-6.0.1"
+      sources."prelude-ls-1.1.2"
+      sources."process-nextick-args-2.0.1"
+      sources."progress-2.0.3"
+      sources."pump-3.0.0"
+      sources."queue-microtask-1.2.3"
+      sources."rc-1.2.8"
+      sources."readable-stream-2.3.7"
+      sources."require-directory-2.1.1"
+      sources."resolve-1.20.0"
+      sources."reusify-1.0.4"
+      sources."run-parallel-1.2.0"
+      sources."safe-buffer-5.1.2"
+      sources."semver-7.3.5"
+      sources."set-blocking-2.0.0"
+      sources."signal-exit-3.0.3"
+      sources."simple-concat-1.0.1"
+      sources."simple-get-3.1.0"
+      sources."slash-3.0.0"
+      sources."source-map-0.6.1"
+      sources."stream-meter-1.0.4"
+      sources."string-width-4.2.2"
+      sources."string_decoder-1.1.1"
+      sources."strip-ansi-6.0.0"
+      sources."strip-json-comments-2.0.1"
+      sources."supports-color-7.2.0"
+      sources."tar-fs-2.1.1"
+      (sources."tar-stream-2.2.0" // {
+        dependencies = [
+          sources."readable-stream-3.6.0"
+        ];
+      })
+      sources."to-fast-properties-2.0.0"
+      sources."to-regex-range-5.0.1"
+      sources."tslib-2.1.0"
+      sources."tunnel-agent-0.6.0"
+      sources."type-check-0.3.2"
+      sources."universalify-2.0.0"
+      sources."util-deprecate-1.0.2"
+      sources."which-pm-runs-1.0.0"
+      (sources."wide-align-1.1.3" // {
+        dependencies = [
+          sources."ansi-regex-3.0.0"
+          sources."is-fullwidth-code-point-2.0.0"
+          sources."string-width-2.1.1"
+          sources."strip-ansi-4.0.0"
+        ];
+      })
+      sources."word-wrap-1.2.3"
+      sources."wrap-ansi-7.0.0"
+      sources."wrappy-1.0.2"
+      sources."y18n-5.0.8"
+      sources."yallist-4.0.0"
+      sources."yargs-16.2.0"
+      sources."yargs-parser-20.2.9"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Package your Node.js project into an executable";
+      homepage = "https://github.com/vercel/pkg#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   pm2 = nodeEnv.buildNodePackage {
     name = "pm2";
     packageName = "pm2";
@@ -101397,10 +101617,10 @@ in
   pnpm = nodeEnv.buildNodePackage {
     name = "pnpm";
     packageName = "pnpm";
-    version = "6.9.0";
+    version = "6.9.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pnpm/-/pnpm-6.9.0.tgz";
-      sha512 = "PYB3AujuDut50PAe7m8jAggruh0D8/Zm+nO2QprVfG1Xug1zAOsMMJEc+wjvEC9irFwT20Qu4qvr+lEiXyK1HA==";
+      url = "https://registry.npmjs.org/pnpm/-/pnpm-6.9.1.tgz";
+      sha512 = "2qlbvmHB+ULAoTCMpJ75oADYoVQnsxD1ipCemdDJA2KW4auGwoTUzyowVYEiAe4DIDOqw3axhHVkNAo7P6goZA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -101469,7 +101689,7 @@ in
       sources."dir-glob-3.0.1"
       sources."emoji-regex-8.0.0"
       sources."escalade-3.1.1"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fastq-1.11.0"
       sources."fill-range-7.0.1"
       sources."fs-extra-9.1.0"
@@ -101536,10 +101756,10 @@ in
   prettier = nodeEnv.buildNodePackage {
     name = "prettier";
     packageName = "prettier";
-    version = "2.3.1";
+    version = "2.3.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/prettier/-/prettier-2.3.1.tgz";
-      sha512 = "p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA==";
+      url = "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz";
+      sha512 = "lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -101922,10 +102142,10 @@ in
   pyright = nodeEnv.buildNodePackage {
     name = "pyright";
     packageName = "pyright";
-    version = "1.1.151";
+    version = "1.1.154";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.151.tgz";
-      sha512 = "R/Zr6VqXghuFLm7y3a8HoCrA+mfy+Zp+mp6P8gFZeJO9Rl1kQLJhfc/y4QKSQHZWxXOBGo+AFDi/rWLZfNBEgQ==";
+      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.154.tgz";
+      sha512 = "J2P5Iurkl7smCyB8CH5fsm8GOGeKRk7d1HWcFiro94E0vJW/5sSKXrkfjPxo7XZ+e96UiW1qyiVTCC++db3Tfg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -102408,7 +102628,7 @@ in
       sources."@types/glob-7.1.3"
       sources."@types/json-schema-7.0.7"
       sources."@types/minimatch-3.0.4"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."@types/parse-json-4.0.0"
       sources."@types/q-1.5.4"
       sources."@webassemblyjs/ast-1.9.0"
@@ -102596,7 +102816,7 @@ in
       sources."camel-case-3.0.0"
       sources."camelcase-5.3.1"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001241"
       sources."case-sensitive-paths-webpack-plugin-2.4.0"
       sources."caw-2.0.1"
       (sources."chalk-2.4.2" // {
@@ -102681,7 +102901,7 @@ in
       sources."copy-concurrently-1.0.5"
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.12"
-      (sources."core-js-compat-3.15.1" // {
+      (sources."core-js-compat-3.15.2" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -102825,7 +103045,7 @@ in
       sources."duplexify-3.7.1"
       sources."ee-first-1.1.1"
       sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.765"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -104082,7 +104302,7 @@ in
       sources."@mozilla/readability-0.4.1"
       sources."@tootallnate/once-1.1.2"
       sources."abab-2.0.5"
-      sources."acorn-8.4.0"
+      sources."acorn-8.4.1"
       (sources."acorn-globals-6.0.0" // {
         dependencies = [
           sources."acorn-7.4.1"
@@ -104106,7 +104326,7 @@ in
       })
       sources."data-urls-2.0.0"
       sources."debug-4.3.2"
-      sources."decimal.js-10.3.0"
+      sources."decimal.js-10.3.1"
       sources."deep-is-0.1.3"
       sources."delayed-stream-1.0.0"
       (sources."domexception-2.0.1" // {
@@ -104158,10 +104378,10 @@ in
       sources."webidl-conversions-6.1.0"
       sources."whatwg-encoding-1.0.5"
       sources."whatwg-mimetype-2.3.0"
-      sources."whatwg-url-8.6.0"
+      sources."whatwg-url-8.7.0"
       sources."word-wrap-1.2.3"
       sources."wrap-ansi-7.0.0"
-      sources."ws-7.5.0"
+      sources."ws-7.5.1"
       sources."xml-name-validator-3.0.0"
       sources."xmlchars-2.2.0"
       sources."y18n-5.0.8"
@@ -104211,15 +104431,15 @@ in
       sources."@emotion/stylis-0.8.5"
       sources."@emotion/unitless-0.7.5"
       sources."@exodus/schemasafe-1.0.0-rc.3"
-      sources."@redocly/ajv-6.12.4"
-      (sources."@redocly/openapi-core-1.0.0-beta.50" // {
+      sources."@redocly/ajv-8.6.2"
+      (sources."@redocly/openapi-core-1.0.0-beta.53" // {
         dependencies = [
           sources."@types/node-14.17.4"
         ];
       })
       sources."@redocly/react-dropdown-aria-2.0.12"
       sources."@types/json-schema-7.0.7"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."ansi-regex-5.0.0"
       sources."ansi-styles-3.2.1"
       sources."anymatch-3.1.2"
@@ -104234,7 +104454,7 @@ in
           sources."util-0.10.3"
         ];
       })
-      sources."babel-plugin-styled-components-1.12.0"
+      sources."babel-plugin-styled-components-1.13.1"
       sources."babel-plugin-syntax-jsx-6.18.0"
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
@@ -104267,7 +104487,6 @@ in
       sources."chokidar-3.5.2"
       sources."cipher-base-1.0.4"
       sources."classnames-2.3.1"
-      sources."clipboard-2.0.8"
       sources."cliui-7.0.4"
       sources."clsx-1.1.1"
       sources."color-convert-1.9.3"
@@ -104289,7 +104508,6 @@ in
       sources."css-to-react-native-3.0.0"
       sources."debug-4.3.2"
       sources."decko-1.2.0"
-      sources."delegate-3.2.0"
       sources."des.js-1.0.1"
       (sources."diffie-hellman-5.0.3" // {
         dependencies = [
@@ -104313,7 +104531,6 @@ in
       sources."events-3.3.0"
       sources."evp_bytestokey-1.0.3"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-json-stable-stringify-2.1.0"
       sources."fast-safe-stringify-2.0.7"
       sources."fill-range-7.0.1"
       sources."foreach-2.0.5"
@@ -104321,7 +104538,6 @@ in
       sources."get-caller-file-2.0.5"
       sources."glob-parent-5.1.2"
       sources."globals-11.12.0"
-      sources."good-listener-1.2.2"
       sources."handlebars-4.7.7"
       sources."has-flag-3.0.0"
       (sources."hash-base-3.1.0" // {
@@ -104352,7 +104568,7 @@ in
       sources."js-yaml-3.14.1"
       sources."jsesc-2.5.2"
       sources."json-pointer-0.6.1"
-      sources."json-schema-traverse-0.4.1"
+      sources."json-schema-traverse-1.0.0"
       sources."lodash-4.17.21"
       sources."lodash.isequal-4.5.0"
       sources."loose-envify-1.4.0"
@@ -104387,7 +104603,7 @@ in
       sources."oas-schema-walker-1.1.5"
       sources."oas-validator-5.0.7"
       sources."object-assign-4.1.1"
-      sources."openapi-sampler-1.0.1"
+      sources."openapi-sampler-1.1.0"
       sources."os-browserify-0.3.0"
       sources."pako-1.0.11"
       sources."parse-asn1-5.1.6"
@@ -104397,7 +104613,7 @@ in
       sources."picomatch-2.3.0"
       sources."polished-4.1.3"
       sources."postcss-value-parser-4.1.0"
-      sources."prismjs-1.23.0"
+      sources."prismjs-1.24.0"
       sources."process-0.11.10"
       sources."process-nextick-args-2.0.1"
       sources."prop-types-15.7.2"
@@ -104432,11 +104648,11 @@ in
       sources."reftools-1.1.8"
       sources."regenerator-runtime-0.13.8"
       sources."require-directory-2.1.1"
+      sources."require-from-string-2.0.2"
       sources."ripemd160-2.0.2"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."scheduler-0.20.2"
-      sources."select-1.1.2"
       sources."setimmediate-1.0.5"
       sources."sha.js-2.4.11"
       sources."shallowequal-1.1.0"
@@ -104459,12 +104675,11 @@ in
       sources."supports-color-5.5.0"
       sources."swagger2openapi-7.0.7"
       sources."timers-browserify-2.0.12"
-      sources."tiny-emitter-2.1.0"
       sources."to-arraybuffer-1.0.1"
       sources."to-fast-properties-2.0.0"
       sources."to-regex-range-5.0.1"
       sources."tty-browserify-0.0.0"
-      sources."uglify-js-3.13.9"
+      sources."uglify-js-3.13.10"
       (sources."uri-js-4.4.1" // {
         dependencies = [
           sources."punycode-2.1.1"
@@ -104700,10 +104915,10 @@ in
   rollup = nodeEnv.buildNodePackage {
     name = "rollup";
     packageName = "rollup";
-    version = "2.52.2";
+    version = "2.52.7";
     src = fetchurl {
-      url = "https://registry.npmjs.org/rollup/-/rollup-2.52.2.tgz";
-      sha512 = "4RlFC3k2BIHlUsJ9mGd8OO+9Lm2eDF5P7+6DNQOp5sx+7N/1tFM01kELfbxlMX3MxT6owvLB1ln4S3QvvQlbUA==";
+      url = "https://registry.npmjs.org/rollup/-/rollup-2.52.7.tgz";
+      sha512 = "55cSH4CCU6MaPr9TAOyrIC+7qFCHscL7tkNsm1MBfIJRRqRbCEY0mmeFn4Wg8FKsHtEH8r389Fz38r/o+kgXLg==";
     };
     dependencies = [
       sources."fsevents-2.3.2"
@@ -104757,13 +104972,13 @@ in
       sources."@types/node-fetch-2.5.10"
       sources."@types/resolve-1.17.1"
       sources."@types/vscode-1.57.0"
-      sources."@typescript-eslint/eslint-plugin-4.28.0"
-      sources."@typescript-eslint/experimental-utils-4.28.0"
-      sources."@typescript-eslint/parser-4.28.0"
-      sources."@typescript-eslint/scope-manager-4.28.0"
-      sources."@typescript-eslint/types-4.28.0"
-      sources."@typescript-eslint/typescript-estree-4.28.0"
-      sources."@typescript-eslint/visitor-keys-4.28.0"
+      sources."@typescript-eslint/eslint-plugin-4.28.1"
+      sources."@typescript-eslint/experimental-utils-4.28.1"
+      sources."@typescript-eslint/parser-4.28.1"
+      sources."@typescript-eslint/scope-manager-4.28.1"
+      sources."@typescript-eslint/types-4.28.1"
+      sources."@typescript-eslint/typescript-estree-4.28.1"
+      sources."@typescript-eslint/visitor-keys-4.28.1"
       sources."@ungap/promise-all-settled-1.1.2"
       sources."acorn-7.4.1"
       sources."acorn-jsx-5.3.1"
@@ -104878,7 +105093,7 @@ in
       sources."estree-walker-2.0.2"
       sources."esutils-2.0.3"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."fastq-1.11.0"
@@ -104888,7 +105103,7 @@ in
       sources."find-up-5.0.0"
       sources."flat-5.0.2"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.1.1"
+      sources."flatted-3.2.0"
       sources."form-data-3.0.1"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
@@ -105027,7 +105242,7 @@ in
       sources."resolve-from-4.0.0"
       sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
-      sources."rollup-2.52.2"
+      sources."rollup-2.52.7"
       sources."run-parallel-1.2.0"
       sources."safe-buffer-5.2.1"
       sources."semver-7.3.5"
@@ -105076,7 +105291,7 @@ in
       sources."type-check-0.4.0"
       sources."type-fest-0.20.2"
       sources."typed-rest-client-1.8.4"
-      sources."typescript-4.3.4"
+      sources."typescript-4.3.5"
       sources."typescript-formatter-7.2.2"
       sources."uc.micro-1.0.6"
       sources."underscore-1.13.1"
@@ -105142,19 +105357,12 @@ in
       sha1 = "c8fa1fffb8258ce68adf75df73f90fbb6f23d198";
     };
     dependencies = [
-      sources."ajv-6.12.6"
-      sources."asn1-0.2.4"
-      sources."assert-plus-1.0.0"
-      sources."asynckit-0.4.0"
       sources."aws-sdk-1.18.0"
-      sources."aws-sign2-0.7.0"
-      sources."aws4-1.11.0"
-      sources."bcrypt-pbkdf-1.0.2"
+      sources."axios-0.21.1"
       sources."buffer-crc32-0.2.1"
       sources."bytes-0.2.1"
-      sources."caseless-0.12.0"
+      sources."call-bind-1.0.2"
       sources."coffee-script-1.6.3"
-      sources."combined-stream-1.0.8"
       sources."commander-2.0.0"
       (sources."connect-2.11.0" // {
         dependencies = [
@@ -105166,10 +105374,7 @@ in
       sources."core-util-is-1.0.2"
       sources."crc-0.2.0"
       sources."crypto-0.0.3"
-      sources."dashdash-1.14.1"
       sources."debug-4.3.2"
-      sources."delayed-stream-1.0.0"
-      sources."ecc-jsbn-0.1.2"
       sources."events.node-0.4.9"
       (sources."everyauth-0.4.5" // {
         dependencies = [
@@ -105188,33 +105393,19 @@ in
           sources."commander-1.3.2"
         ];
       })
-      sources."extend-3.0.2"
-      sources."extsprintf-1.3.0"
-      sources."fast-deep-equal-3.1.3"
-      sources."fast-json-stable-stringify-2.1.0"
-      sources."forever-agent-0.6.1"
-      sources."form-data-2.3.3"
+      sources."follow-redirects-1.14.1"
       sources."formidable-1.0.11"
       sources."fresh-0.2.0"
-      sources."getpass-0.1.7"
-      sources."har-schema-2.0.0"
-      sources."har-validator-5.1.5"
+      sources."function-bind-1.1.1"
+      sources."get-intrinsic-1.1.1"
+      sources."has-1.0.3"
+      sources."has-symbols-1.0.2"
       sources."http-auth-2.0.7"
-      sources."http-signature-1.2.0"
       sources."inherits-2.0.4"
-      sources."is-typedarray-1.0.0"
       sources."isarray-0.0.1"
-      sources."isstream-0.1.2"
-      sources."jsbn-0.1.1"
-      sources."json-schema-0.2.3"
-      sources."json-schema-traverse-0.4.1"
-      sources."json-stringify-safe-5.0.1"
-      sources."jsprim-1.4.1"
       sources."keypress-0.1.0"
       sources."methods-0.1.0"
       sources."mime-1.2.11"
-      sources."mime-db-1.48.0"
-      sources."mime-types-2.1.31"
       sources."mkdirp-0.3.5"
       sources."ms-2.1.2"
       sources."multiparty-2.2.0"
@@ -105223,38 +105414,26 @@ in
       sources."node-uuid-1.4.1"
       sources."node-wsfederation-0.1.1"
       sources."oauth-https://github.com/ciaranj/node-oauth/tarball/master"
-      sources."oauth-sign-0.9.0"
-      (sources."openid-2.0.8" // {
+      sources."object-inspect-1.10.3"
+      (sources."openid-2.0.9" // {
         dependencies = [
-          sources."qs-6.5.2"
-          sources."request-2.88.2"
+          sources."qs-6.10.1"
         ];
       })
       sources."pause-0.0.1"
-      sources."performance-now-2.1.0"
-      sources."psl-1.8.0"
-      sources."punycode-2.1.1"
       sources."qs-0.6.5"
       sources."range-parser-0.0.4"
       sources."raw-body-0.0.3"
       sources."readable-stream-1.1.14"
       sources."request-2.9.203"
-      sources."safe-buffer-5.2.1"
-      sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
       sources."send-0.1.4"
-      sources."sshpk-1.16.1"
+      sources."side-channel-1.0.4"
       sources."stream-counter-0.2.0"
       sources."string-1.6.1"
       sources."string_decoder-0.10.31"
-      sources."tough-cookie-2.5.0"
-      sources."tunnel-agent-0.6.0"
-      sources."tweetnacl-0.14.5"
       sources."uid2-0.0.3"
-      sources."uri-js-4.4.1"
       sources."util-0.4.9"
-      sources."uuid-3.4.0"
-      sources."verror-1.10.0"
       sources."xml2js-0.2.4"
       sources."xmlbuilder-0.4.2"
     ];
@@ -105441,10 +105620,10 @@ in
   serverless = nodeEnv.buildNodePackage {
     name = "serverless";
     packageName = "serverless";
-    version = "2.48.0";
+    version = "2.50.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/serverless/-/serverless-2.48.0.tgz";
-      sha512 = "1CGCKr+7226psdyuGYFC54khCMUUBlLt2QPEAZtY00ZHMy8yOxvjMXAdfHAVnCdo+YH419MW3jFJhGuwVUsDyw==";
+      url = "https://registry.npmjs.org/serverless/-/serverless-2.50.0.tgz";
+      sha512 = "9n2Afh0vEI6guDAue3Fm1Xu1B7i7zVR+LC37AHUhhmAxYRu0hH6ao1ERdrgUhHbzmV2P42yLRD0osB4alrp8gw==";
     };
     dependencies = [
       sources."2-thenable-1.0.0"
@@ -105477,7 +105656,7 @@ in
         ];
       })
       sources."@serverless/component-metrics-1.0.8"
-      (sources."@serverless/components-3.12.0" // {
+      (sources."@serverless/components-3.13.2" // {
         dependencies = [
           (sources."@serverless/utils-4.1.0" // {
             dependencies = [
@@ -105505,7 +105684,7 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."@serverless/dashboard-plugin-5.4.2"
+      sources."@serverless/dashboard-plugin-5.4.3"
       sources."@serverless/event-mocks-1.1.1"
       (sources."@serverless/platform-client-4.2.3" // {
         dependencies = [
@@ -105513,7 +105692,7 @@ in
           sources."js-yaml-3.14.1"
         ];
       })
-      (sources."@serverless/platform-client-china-2.1.14" // {
+      (sources."@serverless/platform-client-china-2.1.17" // {
         dependencies = [
           sources."dotenv-8.6.0"
           sources."js-yaml-3.14.1"
@@ -105527,7 +105706,7 @@ in
           sources."write-file-atomic-3.0.3"
         ];
       })
-      sources."@serverless/utils-china-1.1.2"
+      sources."@serverless/utils-china-1.1.4"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@tencent-sdk/capi-1.1.8"
@@ -105541,12 +105720,12 @@ in
       sources."@tokenizer/token-0.1.1"
       sources."@types/cacheable-request-6.0.1"
       sources."@types/caseless-0.12.2"
-      sources."@types/debug-4.1.5"
+      sources."@types/debug-4.1.6"
       sources."@types/http-cache-semantics-4.0.0"
       sources."@types/keyv-3.1.1"
       sources."@types/lodash-4.14.170"
       sources."@types/long-4.0.1"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."@types/readable-stream-2.3.10"
       sources."@types/request-2.48.5"
       sources."@types/request-promise-native-1.0.17"
@@ -105608,7 +105787,7 @@ in
       sources."async-2.6.3"
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
-      (sources."aws-sdk-2.932.0" // {
+      (sources."aws-sdk-2.938.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."ieee754-1.1.13"
@@ -105698,6 +105877,13 @@ in
         ];
       })
       sources."cli-cursor-3.1.0"
+      (sources."cli-progress-footer-1.1.1" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."cli-color-1.4.0"
+          sources."process-utils-2.6.0"
+        ];
+      })
       sources."cli-width-3.0.0"
       sources."clone-response-1.0.2"
       sources."code-point-at-1.1.0"
@@ -105821,7 +106007,7 @@ in
       sources."external-editor-3.1.0"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-safe-stringify-2.0.7"
       sources."fastest-levenshtein-1.0.12"
@@ -105833,7 +106019,7 @@ in
       sources."file-uri-to-path-1.0.0"
       sources."filename-reserved-regex-2.0.0"
       sources."filenamify-4.3.0"
-      sources."filesize-6.3.0"
+      sources."filesize-6.4.0"
       sources."fill-range-7.0.1"
       sources."find-requires-1.0.0"
       sources."flat-5.0.2"
@@ -106091,6 +106277,7 @@ in
       sources."prettyoutput-1.2.0"
       sources."printj-1.1.2"
       sources."process-nextick-args-2.0.1"
+      sources."process-utils-4.0.0"
       sources."promise-queue-2.2.5"
       (sources."protobufjs-6.11.2" // {
         dependencies = [
@@ -106168,7 +106355,7 @@ in
       sources."sort-keys-length-1.0.1"
       sources."split2-3.2.2"
       sources."sprintf-js-1.0.3"
-      sources."sprintf-kit-2.0.0"
+      sources."sprintf-kit-2.0.1"
       sources."sshpk-1.16.1"
       sources."stack-trace-0.0.10"
       sources."stealthy-require-1.1.1"
@@ -106305,7 +106492,7 @@ in
       })
       sources."wrappy-1.0.2"
       sources."write-file-atomic-2.4.3"
-      sources."ws-7.5.0"
+      sources."ws-7.5.1"
       sources."xml2js-0.4.19"
       sources."xmlbuilder-9.0.7"
       sources."xmlhttprequest-ssl-1.6.3"
@@ -106954,10 +107141,10 @@ in
   snyk = nodeEnv.buildNodePackage {
     name = "snyk";
     packageName = "snyk";
-    version = "1.642.0";
+    version = "1.653.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/snyk/-/snyk-1.642.0.tgz";
-      sha512 = "rrEZuPD1olFg8+MoNAHXeS+HuPQE/RpL4R2Yhizg/NIzYd/PC2peNx0jOOywqqqRseQY8Vhyr19KIrriFEIFJg==";
+      url = "https://registry.npmjs.org/snyk/-/snyk-1.653.0.tgz";
+      sha512 = "AFIsk1kgE9eQ+s31X9+b967us36UyHNes3VnHhgiVPX8YCq+uAPGNDV2rIaWDY/7c0yCtfOmFLD3mI5WxpJmdA==";
     };
     dependencies = [
       sources."@arcanis/slice-ansi-1.0.2"
@@ -106970,18 +107157,18 @@ in
       sources."@sindresorhus/is-4.0.1"
       sources."@snyk/child-process-0.3.1"
       sources."@snyk/cli-interface-2.11.0"
-      sources."@snyk/cloud-config-parser-1.9.2"
+      sources."@snyk/cloud-config-parser-1.9.3"
       sources."@snyk/cocoapods-lockfile-parser-3.6.2"
       sources."@snyk/code-client-3.9.0"
       sources."@snyk/composer-lockfile-parser-1.4.1"
-      (sources."@snyk/dep-graph-1.28.0" // {
+      (sources."@snyk/dep-graph-1.28.1" // {
         dependencies = [
           sources."semver-7.3.5"
         ];
       })
       sources."@snyk/docker-registry-v2-client-2.2.2"
       sources."@snyk/fast-glob-3.2.6-patch"
-      (sources."@snyk/fix-1.642.0" // {
+      (sources."@snyk/fix-1.650.0" // {
         dependencies = [
           sources."chalk-4.1.1"
           sources."strip-ansi-6.0.0"
@@ -107036,7 +107223,7 @@ in
       })
       sources."@szmarczak/http-timer-4.0.5"
       sources."@types/cacheable-request-6.0.1"
-      sources."@types/debug-4.1.5"
+      sources."@types/debug-4.1.6"
       sources."@types/emscripten-1.39.4"
       sources."@types/flat-cache-2.0.0"
       sources."@types/graphlib-2.1.7"
@@ -107163,7 +107350,7 @@ in
       sources."color-name-1.1.4"
       sources."concat-map-0.0.1"
       sources."configstore-5.0.1"
-      sources."core-js-3.15.1"
+      sources."core-js-3.15.2"
       sources."core-util-is-1.0.2"
       (sources."cross-spawn-6.0.5" // {
         dependencies = [
@@ -107217,7 +107404,11 @@ in
       })
       sources."execa-1.0.0"
       sources."external-editor-3.1.0"
-      sources."fast-glob-3.2.5"
+      (sources."fast-glob-3.2.6" // {
+        dependencies = [
+          sources."micromatch-4.0.4"
+        ];
+      })
       sources."fastq-1.11.0"
       sources."figures-3.2.0"
       sources."fill-range-7.0.1"
@@ -107563,7 +107754,12 @@ in
           sources."yallist-3.1.1"
         ];
       })
-      sources."snyk-python-plugin-1.19.9"
+      (sources."snyk-python-plugin-1.19.11" // {
+        dependencies = [
+          sources."rimraf-3.0.2"
+          sources."tmp-0.2.1"
+        ];
+      })
       sources."snyk-resolve-1.1.0"
       (sources."snyk-resolve-deps-4.7.2" // {
         dependencies = [
@@ -107572,7 +107768,7 @@ in
           sources."yallist-2.1.2"
         ];
       })
-      (sources."snyk-sbt-plugin-2.11.0" // {
+      (sources."snyk-sbt-plugin-2.11.1" // {
         dependencies = [
           sources."tmp-0.1.0"
         ];
@@ -107704,7 +107900,7 @@ in
       sources."@types/component-emitter-1.2.10"
       sources."@types/cookie-0.4.0"
       sources."@types/cors-2.8.10"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."accepts-1.3.7"
       sources."base64-arraybuffer-0.1.4"
       sources."base64id-2.0.0"
@@ -108266,7 +108462,7 @@ in
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."isobject-2.1.0"
-      (sources."jitdb-3.1.4" // {
+      (sources."jitdb-3.1.5" // {
         dependencies = [
           sources."mkdirp-1.0.4"
           sources."push-stream-11.0.1"
@@ -108441,7 +108637,7 @@ in
       sources."polyraf-1.1.0"
       sources."posix-character-classes-0.1.1"
       sources."preserve-0.2.0"
-      sources."prettier-2.3.1"
+      sources."prettier-2.3.2"
       (sources."pretty-quick-3.1.1" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -108704,7 +108900,7 @@ in
       sources."ssb-client-4.9.0"
       sources."ssb-config-3.4.5"
       sources."ssb-db-19.2.0"
-      (sources."ssb-db2-2.1.3" // {
+      (sources."ssb-db2-2.1.4" // {
         dependencies = [
           sources."abstract-leveldown-6.2.3"
           (sources."flumecodec-0.0.1" // {
@@ -108870,7 +109066,7 @@ in
       sources."word-wrap-1.2.3"
       sources."wrap-fn-0.1.5"
       sources."wrappy-1.0.2"
-      sources."ws-7.5.0"
+      sources."ws-7.5.1"
       sources."xtend-4.0.2"
       sources."zerr-1.0.4"
     ];
@@ -108970,13 +109166,14 @@ in
       sources."async-1.5.2"
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
-      (sources."aws-sdk-2.932.0" // {
+      (sources."aws-sdk-2.938.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
       })
       sources."aws-sign2-0.6.0"
       sources."aws4-1.11.0"
+      sources."axios-0.21.1"
       sources."babel-runtime-6.26.0"
       sources."babel-types-6.26.0"
       sources."babylon-6.18.0"
@@ -109359,7 +109556,11 @@ in
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
-      sources."openid-2.0.8"
+      (sources."openid-2.0.9" // {
+        dependencies = [
+          sources."qs-6.10.1"
+        ];
+      })
       sources."options-0.0.6"
       sources."optjs-3.2.2"
       sources."os-locale-3.1.0"
@@ -109374,7 +109575,7 @@ in
       sources."parseuri-0.0.6"
       sources."parseurl-1.3.3"
       sources."passport-0.3.2"
-      sources."passport-oauth2-1.5.0"
+      sources."passport-oauth2-1.6.0"
       (sources."passport-saml-0.15.0" // {
         dependencies = [
           sources."lodash-3.2.0"
@@ -109803,7 +110004,7 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001241"
       (sources."chalk-4.1.1" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -109841,7 +110042,7 @@ in
       sources."domelementtype-1.3.1"
       sources."domhandler-2.4.2"
       sources."domutils-1.7.0"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.765"
       sources."emoji-regex-8.0.0"
       sources."entities-1.1.2"
       sources."error-ex-1.3.2"
@@ -109850,14 +110051,14 @@ in
       sources."execall-2.0.0"
       sources."extend-3.0.2"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fastest-levenshtein-1.0.12"
       sources."fastq-1.11.0"
       sources."file-entry-cache-6.0.1"
       sources."fill-range-7.0.1"
       sources."find-up-4.1.0"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.1.1"
+      sources."flatted-3.2.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."gensync-1.0.0-beta.2"
@@ -110043,7 +110244,7 @@ in
       sources."trough-1.0.5"
       sources."type-fest-0.18.1"
       sources."typedarray-to-buffer-3.1.5"
-      sources."unified-9.2.1"
+      sources."unified-9.2.2"
       sources."unist-util-find-all-after-3.0.2"
       sources."unist-util-is-4.1.0"
       sources."unist-util-stringify-position-2.0.3"
@@ -110083,7 +110284,7 @@ in
       sources."@emmetio/abbreviation-2.2.2"
       sources."@emmetio/css-abbreviation-2.1.4"
       sources."@emmetio/scanner-1.0.0"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."@types/pug-2.0.4"
       sources."@types/sass-1.16.0"
       sources."anymatch-3.1.2"
@@ -110129,7 +110330,7 @@ in
       sources."svelte2tsx-0.3.0"
       sources."to-regex-range-5.0.1"
       sources."tslib-2.3.0"
-      sources."typescript-4.3.4"
+      sources."typescript-4.3.5"
       sources."vscode-css-languageservice-5.0.0"
       sources."vscode-emmet-helper-2.1.2"
       sources."vscode-html-languageservice-4.0.0"
@@ -110159,10 +110360,10 @@ in
   svgo = nodeEnv.buildNodePackage {
     name = "svgo";
     packageName = "svgo";
-    version = "2.3.0";
+    version = "2.3.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/svgo/-/svgo-2.3.0.tgz";
-      sha512 = "fz4IKjNO6HDPgIQxu4IxwtubtbSfGEAJUq/IXyTPIkGhWck/faiiwfkvsB8LnBkKLvSoyNNIY6d13lZprJMc9Q==";
+      url = "https://registry.npmjs.org/svgo/-/svgo-2.3.1.tgz";
+      sha512 = "riDDIQgXpEnn0BEl9Gvhh1LNLIyiusSpt64IR8upJu7MwxnzetmF/Y57pXQD2NMX2lVyMRzXt5f2M5rO4wG7Dw==";
     };
     dependencies = [
       sources."@trysound/sax-0.1.1"
@@ -110172,9 +110373,9 @@ in
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."commander-7.2.0"
-      sources."css-select-3.1.2"
+      sources."css-select-4.1.3"
       sources."css-tree-1.1.3"
-      sources."css-what-4.0.0"
+      sources."css-what-5.0.1"
       sources."csso-4.2.0"
       sources."dom-serializer-1.3.2"
       sources."domelementtype-2.2.0"
@@ -110777,7 +110978,7 @@ in
       sources."truncate-utf8-bytes-1.0.2"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
-      sources."uglify-js-3.13.9"
+      sources."uglify-js-3.13.10"
       sources."undefsafe-2.0.3"
       (sources."union-value-1.0.1" // {
         dependencies = [
@@ -111311,7 +111512,7 @@ in
       sources."trough-1.0.5"
       sources."try-resolve-1.0.1"
       sources."type-check-0.4.0"
-      sources."unified-9.2.1"
+      sources."unified-9.2.2"
       sources."unique-concat-0.2.2"
       sources."unist-util-is-4.1.0"
       sources."unist-util-stringify-position-2.0.3"
@@ -111407,7 +111608,7 @@ in
       sources."@types/normalize-package-data-2.4.0"
       sources."@types/parse5-5.0.3"
       sources."@types/unist-2.0.3"
-      sources."acorn-8.4.0"
+      sources."acorn-8.4.1"
       sources."acorn-jsx-5.3.1"
       sources."alex-9.1.0"
       (sources."ansi-align-3.0.0" // {
@@ -111753,13 +111954,13 @@ in
       sources."typedarray-0.0.6"
       sources."typedarray-to-buffer-3.1.5"
       sources."unherit-1.1.3"
-      (sources."unified-9.2.1" // {
+      (sources."unified-9.2.2" // {
         dependencies = [
           sources."is-plain-obj-2.1.0"
         ];
       })
       sources."unified-diff-3.1.0"
-      (sources."unified-engine-8.1.0" // {
+      (sources."unified-engine-8.2.0" // {
         dependencies = [
           sources."is-plain-obj-2.1.0"
         ];
@@ -112204,10 +112405,10 @@ in
       sources."@szmarczak/http-timer-4.0.5"
       sources."@tokenizer/token-0.1.1"
       sources."@types/cacheable-request-6.0.1"
-      sources."@types/debug-4.1.5"
+      sources."@types/debug-4.1.6"
       sources."@types/http-cache-semantics-4.0.0"
       sources."@types/keyv-3.1.1"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
@@ -112283,7 +112484,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.15.1"
+      sources."core-js-3.15.2"
       sources."core-util-is-1.0.2"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
@@ -112623,7 +112824,7 @@ in
       sources."wide-align-1.1.3"
       sources."with-open-file-0.1.7"
       sources."wrappy-1.0.2"
-      sources."ws-7.5.0"
+      sources."ws-7.5.1"
       sources."xmlhttprequest-ssl-1.5.5"
       sources."yallist-3.1.1"
       sources."yarn-1.22.4"
@@ -112642,10 +112843,10 @@ in
   three = nodeEnv.buildNodePackage {
     name = "three";
     packageName = "three";
-    version = "0.129.0";
+    version = "0.130.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/three/-/three-0.129.0.tgz";
-      sha512 = "wiWio1yVRg2Oj6WEWsTHQo5eSzYpEwSBtPSi3OofNpvFbf26HFfb9kw4FZJNjII4qxzp0b1xLB11+tKkBGB1ZA==";
+      url = "https://registry.npmjs.org/three/-/three-0.130.0.tgz";
+      sha512 = "4jqvbJyvgrjTsBgqE7TrdkZral78l8CXpFCdGzqQoiJHsRhGHxe5tvwqZQVaS6eodPav7jdYO5sp1c5RmMB3ng==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -113071,10 +113272,10 @@ in
   typescript = nodeEnv.buildNodePackage {
     name = "typescript";
     packageName = "typescript";
-    version = "4.3.4";
+    version = "4.3.5";
     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.3.5.tgz";
+      sha512 = "DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -113089,29 +113290,74 @@ in
   typescript-language-server = nodeEnv.buildNodePackage {
     name = "typescript-language-server";
     packageName = "typescript-language-server";
-    version = "0.5.1";
+    version = "0.5.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/typescript-language-server/-/typescript-language-server-0.5.1.tgz";
-      sha512 = "60Kguhwk/R1BB4pEIb6B9C7Ix7JzLzYnsODlmorYMPjMeEV0rCBqTR6FGAj4wVw/eHrHcpwLENmmURKUd8aybA==";
+      url = "https://registry.npmjs.org/typescript-language-server/-/typescript-language-server-0.5.4.tgz";
+      sha512 = "MQbCaq+ZUGfibp91reQJGYPXWbEdsY8G+iAkOaKRLOs3MDIssacEYF3v1nFne8iWWYPSsYs4HvuiIzbuUAO8GA==";
     };
     dependencies = [
-      sources."command-exists-1.2.6"
-      sources."commander-2.20.3"
-      sources."crypto-random-string-1.0.0"
-      sources."fs-extra-7.0.1"
+      sources."@nodelib/fs.scandir-2.1.5"
+      sources."@nodelib/fs.stat-2.0.5"
+      sources."@nodelib/fs.walk-1.2.7"
+      sources."aggregate-error-3.1.0"
+      sources."array-union-2.1.0"
+      sources."balanced-match-1.0.2"
+      sources."brace-expansion-1.1.11"
+      sources."braces-3.0.2"
+      sources."clean-stack-2.2.0"
+      sources."command-exists-1.2.9"
+      sources."commander-7.2.0"
+      sources."concat-map-0.0.1"
+      sources."crypto-random-string-2.0.0"
+      sources."del-6.0.0"
+      sources."dir-glob-3.0.1"
+      sources."fast-glob-3.2.6"
+      sources."fastq-1.11.0"
+      sources."fill-range-7.0.1"
+      sources."fs-extra-10.0.0"
+      sources."fs.realpath-1.0.0"
+      sources."glob-7.1.7"
+      sources."glob-parent-5.1.2"
+      sources."globby-11.0.4"
       sources."graceful-fs-4.2.6"
-      sources."jsonfile-4.0.0"
-      sources."p-debounce-1.0.0"
-      sources."temp-dir-1.0.0"
-      sources."tempy-0.2.1"
-      sources."unique-string-1.0.0"
-      sources."universalify-0.1.2"
+      sources."ignore-5.1.8"
+      sources."indent-string-4.0.0"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      sources."is-extglob-2.1.1"
+      sources."is-glob-4.0.1"
+      sources."is-number-7.0.0"
+      sources."is-path-cwd-2.2.0"
+      sources."is-path-inside-3.0.3"
+      sources."is-stream-2.0.0"
+      sources."jsonfile-6.1.0"
+      sources."merge2-1.4.1"
+      sources."micromatch-4.0.4"
+      sources."minimatch-3.0.4"
+      sources."once-1.4.0"
+      sources."p-debounce-2.1.0"
+      sources."p-map-4.0.0"
+      sources."path-is-absolute-1.0.1"
+      sources."path-type-4.0.0"
+      sources."picomatch-2.3.0"
+      sources."queue-microtask-1.2.3"
+      sources."reusify-1.0.4"
+      sources."rimraf-3.0.2"
+      sources."run-parallel-1.2.0"
+      sources."slash-3.0.0"
+      sources."temp-dir-2.0.0"
+      sources."tempy-1.0.1"
+      sources."to-regex-range-5.0.1"
+      sources."type-fest-0.16.0"
+      sources."unique-string-2.0.0"
+      sources."universalify-2.0.0"
       sources."vscode-jsonrpc-6.0.0"
       sources."vscode-languageserver-5.3.0-next.10"
       sources."vscode-languageserver-protocol-3.16.0"
       sources."vscode-languageserver-types-3.16.0"
       sources."vscode-textbuffer-1.0.0"
       sources."vscode-uri-1.0.8"
+      sources."wrappy-1.0.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -113126,10 +113372,10 @@ in
   uglify-js = nodeEnv.buildNodePackage {
     name = "uglify-js";
     packageName = "uglify-js";
-    version = "3.13.9";
+    version = "3.13.10";
     src = fetchurl {
-      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.9.tgz";
-      sha512 = "wZbyTQ1w6Y7fHdt8sJnHfSIuWeDgk6B5rCb4E/AM6QNNPbOMIZph21PW5dRB3h7Df0GszN+t7RuUH6sWK5bF0g==";
+      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.10.tgz";
+      sha512 = "57H3ACYFXeo1IaZ1w02sfA71wI60MGco/IQFjOqK+WtKoprh7Go2/yvd2HPtoJILO2Or84ncLccI4xoHMTSbGg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -113742,7 +113988,7 @@ in
       sources."enquirer-2.3.6"
       sources."escape-string-regexp-4.0.0"
       sources."eslint-7.29.0"
-      sources."eslint-plugin-vue-7.11.1"
+      sources."eslint-plugin-vue-7.12.1"
       sources."eslint-scope-5.1.1"
       (sources."eslint-utils-2.1.0" // {
         dependencies = [
@@ -113773,7 +114019,7 @@ in
       sources."fast-levenshtein-2.0.6"
       sources."file-entry-cache-6.0.1"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.1.1"
+      sources."flatted-3.2.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."functional-red-black-tree-1.0.1"
@@ -113814,7 +114060,7 @@ in
       sources."path-key-3.1.1"
       sources."path-parse-1.0.7"
       sources."prelude-ls-1.2.1"
-      sources."prettier-2.3.1"
+      sources."prettier-2.3.2"
       sources."progress-2.0.3"
       sources."punycode-2.1.1"
       sources."regexpp-3.2.0"
@@ -113855,13 +114101,18 @@ in
       sources."tsutils-2.29.0"
       sources."type-check-0.4.0"
       sources."type-fest-0.20.2"
-      sources."typescript-4.3.4"
+      sources."typescript-4.3.5"
       sources."uri-js-4.4.1"
       sources."v8-compile-cache-2.3.0"
-      (sources."vue-eslint-parser-7.6.0" // {
+      (sources."vue-eslint-parser-7.7.1" // {
         dependencies = [
+          sources."acorn-8.4.1"
           sources."eslint-visitor-keys-1.3.0"
-          sources."espree-6.2.1"
+          (sources."espree-8.0.0" // {
+            dependencies = [
+              sources."eslint-visitor-keys-3.0.0"
+            ];
+          })
         ];
       })
       sources."which-2.0.2"
@@ -113967,7 +114218,7 @@ in
       sources."minimatch-3.0.4"
       sources."ms-2.0.0"
       sources."request-light-0.4.0"
-      (sources."vscode-json-languageservice-4.1.4" // {
+      (sources."vscode-json-languageservice-4.1.5" // {
         dependencies = [
           sources."vscode-nls-5.0.0"
         ];
@@ -114049,7 +114300,7 @@ in
       sources."@discoveryjs/json-ext-0.5.3"
       sources."@types/eslint-7.2.13"
       sources."@types/eslint-scope-3.7.0"
-      sources."@types/estree-0.0.47"
+      sources."@types/estree-0.0.48"
       sources."@types/json-schema-7.0.7"
       sources."@types/mocha-7.0.2"
       sources."@types/node-8.10.66"
@@ -114076,7 +114327,7 @@ in
       sources."@webpack-cli/serve-1.5.1"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
-      sources."acorn-8.4.0"
+      sources."acorn-8.4.1"
       sources."ajv-6.12.6"
       sources."ajv-keywords-3.5.2"
       sources."ansi-colors-4.1.1"
@@ -114097,7 +114348,7 @@ in
       sources."buffer-from-1.1.1"
       sources."call-bind-1.0.2"
       sources."camelcase-6.2.0"
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001241"
       (sources."chalk-4.1.1" // {
         dependencies = [
           sources."supports-color-7.2.0"
@@ -114137,7 +114388,7 @@ in
       sources."domelementtype-2.2.0"
       sources."domhandler-4.2.0"
       sources."domutils-2.7.0"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.765"
       sources."emoji-regex-8.0.0"
       sources."emojis-list-3.0.0"
       sources."enhanced-resolve-5.8.2"
@@ -114196,7 +114447,7 @@ in
       sources."isarray-0.0.1"
       sources."isexe-2.0.0"
       sources."isobject-3.0.1"
-      sources."jest-worker-27.0.2"
+      sources."jest-worker-27.0.6"
       sources."js-yaml-4.0.0"
       sources."json-parse-better-errors-1.0.2"
       sources."json-schema-traverse-0.4.1"
@@ -114303,13 +114554,17 @@ in
       sources."strip-json-comments-3.1.1"
       sources."supports-color-8.1.1"
       sources."tapable-2.2.0"
-      (sources."terser-5.7.0" // {
+      (sources."terser-5.7.1" // {
         dependencies = [
           sources."commander-2.20.3"
           sources."source-map-0.7.3"
         ];
       })
-      sources."terser-webpack-plugin-5.1.3"
+      (sources."terser-webpack-plugin-5.1.4" // {
+        dependencies = [
+          sources."serialize-javascript-6.0.0"
+        ];
+      })
       sources."tmp-0.0.29"
       sources."to-regex-range-5.0.1"
       (sources."ts-loader-8.3.0" // {
@@ -114322,7 +114577,7 @@ in
       sources."tslib-2.3.0"
       sources."tunnel-0.0.6"
       sources."typed-rest-client-1.8.4"
-      sources."typescript-4.3.4"
+      sources."typescript-4.3.5"
       sources."uc.micro-1.0.6"
       sources."underscore-1.13.1"
       sources."uri-js-4.4.1"
@@ -114343,7 +114598,7 @@ in
       sources."vscode-debugadapter-testsupport-1.47.0"
       sources."vscode-debugprotocol-1.47.0"
       sources."watchpack-2.2.0"
-      sources."webpack-5.40.0"
+      sources."webpack-5.42.0"
       (sources."webpack-cli-4.7.2" // {
         dependencies = [
           sources."commander-7.2.0"
@@ -114641,7 +114896,7 @@ in
       sources."tslib-1.14.1"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."uglify-js-3.13.9"
+      sources."uglify-js-3.13.10"
       sources."uid-0.0.2"
       sources."unbzip2-stream-1.4.3"
       sources."unyield-0.0.1"
@@ -114700,7 +114955,7 @@ in
       sources."@starptech/rehype-webparser-0.10.0"
       sources."@starptech/webparser-0.10.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."@types/unist-2.0.3"
       sources."@types/vfile-3.0.2"
       sources."@types/vfile-message-2.0.0"
@@ -114895,12 +115150,19 @@ in
       })
       (sources."eslint-plugin-vue-6.2.2" // {
         dependencies = [
-          sources."acorn-7.4.1"
+          sources."acorn-8.4.1"
           sources."debug-4.3.2"
           sources."eslint-scope-5.1.1"
-          sources."espree-6.2.1"
+          sources."eslint-visitor-keys-3.0.0"
+          sources."espree-8.0.0"
+          sources."lru-cache-6.0.0"
           sources."ms-2.1.2"
-          sources."vue-eslint-parser-7.6.0"
+          (sources."vue-eslint-parser-7.7.1" // {
+            dependencies = [
+              sources."semver-7.3.5"
+            ];
+          })
+          sources."yallist-4.0.0"
         ];
       })
       sources."eslint-scope-4.0.3"
@@ -115625,7 +115887,7 @@ in
       sources."@types/raf-3.4.0"
       sources."abab-2.0.5"
       sources."abbrev-1.1.1"
-      sources."acorn-8.4.0"
+      sources."acorn-8.4.1"
       (sources."acorn-globals-6.0.0" // {
         dependencies = [
           sources."acorn-7.4.1"
@@ -115671,7 +115933,7 @@ in
       sources."combined-stream-1.0.8"
       sources."concat-map-0.0.1"
       sources."console-control-strings-1.1.0"
-      sources."core-js-pure-3.15.1"
+      sources."core-js-pure-3.15.2"
       sources."core-util-is-1.0.2"
       sources."cssom-0.4.4"
       (sources."cssstyle-2.3.0" // {
@@ -115681,7 +115943,7 @@ in
       })
       sources."data-urls-2.0.0"
       sources."debug-4.3.2"
-      sources."decimal.js-10.3.0"
+      sources."decimal.js-10.3.1"
       sources."decompress-response-4.2.1"
       sources."deep-is-0.1.3"
       sources."delayed-stream-1.0.0"
@@ -115795,7 +116057,7 @@ in
       sources."webidl-conversions-6.1.0"
       sources."whatwg-encoding-1.0.5"
       sources."whatwg-mimetype-2.3.0"
-      sources."whatwg-url-8.6.0"
+      sources."whatwg-url-8.7.0"
       sources."wide-align-1.1.3"
       sources."word-wrap-1.2.3"
       (sources."wrap-ansi-7.0.0" // {
@@ -115807,7 +116069,7 @@ in
         ];
       })
       sources."wrappy-1.0.2"
-      sources."ws-7.5.0"
+      sources."ws-7.5.1"
       sources."xml-name-validator-3.0.0"
       sources."xmlchars-2.2.0"
       sources."y18n-5.0.8"
@@ -115868,7 +116130,7 @@ in
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@types/minimatch-3.0.4"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."@types/yauzl-2.9.1"
       sources."acorn-7.4.1"
       sources."acorn-jsx-5.3.1"
@@ -116056,7 +116318,7 @@ in
       sources."first-chunk-stream-3.0.0"
       sources."flat-cache-3.0.4"
       sources."flatstr-1.0.12"
-      sources."flatted-3.1.1"
+      sources."flatted-3.2.0"
       sources."fluent-syntax-0.13.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
@@ -116421,17 +116683,17 @@ in
   webpack = nodeEnv.buildNodePackage {
     name = "webpack";
     packageName = "webpack";
-    version = "5.40.0";
+    version = "5.42.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webpack/-/webpack-5.40.0.tgz";
-      sha512 = "c7f5e/WWrxXWUzQqTBg54vBs5RgcAgpvKE4F4VegVgfo4x660ZxYUF2/hpMkZUnLjgytVTitjeXaN4IPlXCGIw==";
+      url = "https://registry.npmjs.org/webpack/-/webpack-5.42.0.tgz";
+      sha512 = "Ln8HL0F831t1x/yPB/qZEUVmZM4w9BnHZ1EQD/sAUHv8m22hthoPniWTXEzFMh/Sf84mhrahut22TX5KxWGuyQ==";
     };
     dependencies = [
       sources."@types/eslint-7.2.13"
       sources."@types/eslint-scope-3.7.0"
-      sources."@types/estree-0.0.47"
+      sources."@types/estree-0.0.48"
       sources."@types/json-schema-7.0.7"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."@webassemblyjs/ast-1.11.0"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.0"
       sources."@webassemblyjs/helper-api-error-1.11.0"
@@ -116449,16 +116711,16 @@ in
       sources."@webassemblyjs/wast-printer-1.11.0"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
-      sources."acorn-8.4.0"
+      sources."acorn-8.4.1"
       sources."ajv-6.12.6"
       sources."ajv-keywords-3.5.2"
       sources."browserslist-4.16.6"
       sources."buffer-from-1.1.1"
-      sources."caniuse-lite-1.0.30001239"
+      sources."caniuse-lite-1.0.30001241"
       sources."chrome-trace-event-1.0.3"
       sources."colorette-1.2.2"
       sources."commander-2.20.3"
-      sources."electron-to-chromium-1.3.755"
+      sources."electron-to-chromium-1.3.765"
       sources."enhanced-resolve-5.8.2"
       sources."es-module-lexer-0.6.0"
       sources."escalade-3.1.1"
@@ -116475,7 +116737,7 @@ in
       sources."glob-to-regexp-0.4.1"
       sources."graceful-fs-4.2.6"
       sources."has-flag-4.0.0"
-      sources."jest-worker-27.0.2"
+      sources."jest-worker-27.0.6"
       sources."json-parse-better-errors-1.0.2"
       sources."json-schema-traverse-0.4.1"
       sources."loader-runner-4.2.0"
@@ -116489,18 +116751,18 @@ in
       sources."randombytes-2.1.0"
       sources."safe-buffer-5.2.1"
       sources."schema-utils-3.0.0"
-      sources."serialize-javascript-5.0.1"
+      sources."serialize-javascript-6.0.0"
       sources."source-list-map-2.0.1"
       sources."source-map-0.6.1"
       sources."source-map-support-0.5.19"
       sources."supports-color-8.1.1"
       sources."tapable-2.2.0"
-      (sources."terser-5.7.0" // {
+      (sources."terser-5.7.1" // {
         dependencies = [
           sources."source-map-0.7.3"
         ];
       })
-      sources."terser-webpack-plugin-5.1.3"
+      sources."terser-webpack-plugin-5.1.4"
       sources."uri-js-4.4.1"
       sources."watchpack-2.2.0"
       sources."webpack-sources-2.3.0"
@@ -116596,7 +116858,7 @@ in
     dependencies = [
       sources."@types/glob-7.1.3"
       sources."@types/minimatch-3.0.4"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."accepts-1.3.7"
       sources."ajv-6.12.6"
       sources."ajv-errors-1.0.1"
@@ -117169,10 +117431,10 @@ in
   copy-webpack-plugin = nodeEnv.buildNodePackage {
     name = "copy-webpack-plugin";
     packageName = "copy-webpack-plugin";
-    version = "9.0.0";
+    version = "9.0.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.0.0.tgz";
-      sha512 = "k8UB2jLIb1Jip2nZbCz83T/XfhfjX6mB1yLJNYKrpYi7FQimfOoFv/0//iT6HV1K8FwUB5yUbCcnpLebJXJTug==";
+      url = "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.0.1.tgz";
+      sha512 = "14gHKKdYIxF84jCEgPgYXCPpldbwpxxLbCmA7LReY7gvbaT555DgeBWBgBZM116tv/fO6RRJrsivBqRyRlukhw==";
     };
     dependencies = [
       sources."@nodelib/fs.scandir-2.1.5"
@@ -117185,7 +117447,7 @@ in
       sources."braces-3.0.2"
       sources."dir-glob-3.0.1"
       sources."fast-deep-equal-3.1.3"
-      (sources."fast-glob-3.2.5" // {
+      (sources."fast-glob-3.2.6" // {
         dependencies = [
           sources."glob-parent-5.1.2"
         ];
@@ -117213,7 +117475,7 @@ in
       sources."run-parallel-1.2.0"
       sources."safe-buffer-5.2.1"
       sources."schema-utils-3.0.0"
-      sources."serialize-javascript-5.0.1"
+      sources."serialize-javascript-6.0.0"
       sources."slash-3.0.0"
       sources."to-regex-range-5.0.1"
       sources."uri-js-4.4.1"
@@ -117249,7 +117511,7 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.1"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."addr-to-ip-port-1.5.1"
       sources."airplay-js-0.3.0"
       sources."balanced-match-1.0.2"
@@ -117299,6 +117561,7 @@ in
       sources."buffer-indexof-1.1.1"
       sources."buffer-xor-2.0.2"
       sources."bufferutil-4.0.3"
+      sources."cache-chunk-store-3.2.2"
       (sources."castv2-0.1.10" // {
         dependencies = [
           sources."debug-4.3.2"
@@ -117524,10 +117787,10 @@ in
       sources."ut_pex-3.0.1"
       sources."utf-8-validate-5.0.5"
       sources."util-deprecate-1.0.2"
-      sources."utp-native-2.5.1"
+      sources."utp-native-2.5.3"
       sources."videostream-3.2.2"
       sources."vlc-command-1.2.0"
-      (sources."webtorrent-1.0.1" // {
+      (sources."webtorrent-1.1.0" // {
         dependencies = [
           sources."debug-4.3.2"
           sources."decompress-response-6.0.0"
@@ -117538,7 +117801,7 @@ in
       })
       sources."winreg-1.2.4"
       sources."wrappy-1.0.2"
-      sources."ws-7.5.0"
+      sources."ws-7.5.1"
       sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
       sources."xmldom-0.1.31"
@@ -117622,7 +117885,7 @@ in
       sources."minimatch-3.0.4"
       sources."ms-2.0.0"
       sources."request-light-0.2.5"
-      (sources."vscode-json-languageservice-4.1.4" // {
+      (sources."vscode-json-languageservice-4.1.5" // {
         dependencies = [
           sources."jsonc-parser-3.0.0"
           sources."vscode-nls-5.0.0"
@@ -117678,7 +117941,7 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.7"
-      (sources."@npmcli/arborist-2.6.3" // {
+      (sources."@npmcli/arborist-2.6.4" // {
         dependencies = [
           sources."semver-7.3.5"
         ];
@@ -117704,13 +117967,14 @@ in
       })
       sources."@npmcli/name-from-folder-1.0.1"
       sources."@npmcli/node-gyp-1.0.2"
+      sources."@npmcli/package-json-1.0.1"
       sources."@npmcli/promise-spawn-1.3.2"
       sources."@npmcli/run-script-1.8.5"
       sources."@sindresorhus/is-0.7.0"
       sources."@tootallnate/once-1.1.2"
       sources."@types/expect-1.20.4"
       sources."@types/minimatch-3.0.4"
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."@types/vinyl-2.0.4"
       sources."abbrev-1.1.1"
       (sources."agent-base-6.0.2" // {
@@ -117831,7 +118095,7 @@ in
       sources."config-chain-1.1.13"
       sources."configstore-3.1.5"
       sources."console-control-strings-1.1.0"
-      sources."core-js-3.15.1"
+      sources."core-js-3.15.2"
       sources."core-util-is-1.0.2"
       sources."create-error-class-3.0.2"
       sources."cross-spawn-6.0.5"
@@ -117889,7 +118153,7 @@ in
       sources."external-editor-3.1.0"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.6"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.11.0"
       sources."figures-2.0.0"
@@ -118606,7 +118870,7 @@ in
       sha512 = "omgqRVve+5dqbFrogFSjJXLUCUr4xHF2Gan+Njn/z4fumhIj3tMTFEA9iV+HgiobZ5Mgl5N96z4S4fwhaas4Pw==";
     };
     dependencies = [
-      sources."@types/node-15.12.4"
+      sources."@types/node-15.14.0"
       sources."@types/node-fetch-2.5.10"
       sources."ansi-styles-4.3.0"
       sources."asynckit-0.4.0"
diff --git a/nixpkgs/pkgs/development/ocaml-modules/alcotest/default.nix b/nixpkgs/pkgs/development/ocaml-modules/alcotest/default.nix
index 94626f3c1798..abef3ef7ef46 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/alcotest/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/alcotest/default.nix
@@ -4,13 +4,13 @@
 
 buildDunePackage rec {
   pname = "alcotest";
-  version = "1.2.3";
+  version = "1.3.0";
 
   useDune2 = true;
 
   src = fetchurl {
     url = "https://github.com/mirage/alcotest/releases/download/${version}/alcotest-mirage-${version}.tbz";
-    sha256 = "1bmjcivbmd4vib15v4chycgd1gl8js9dk94vzxkdg06zxqd4hp08";
+    sha256 = "sha256-efnevbyolTdNb91zr4pHDcvgaLQQSD01wEu2zMM+iaw=";
   };
 
   propagatedBuildInputs = [ astring cmdliner fmt uuidm re stdlib-shims uutf ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/alcotest/lwt.nix b/nixpkgs/pkgs/development/ocaml-modules/alcotest/lwt.nix
index 82efbe91a069..5a57dc0fcc2e 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/alcotest/lwt.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/alcotest/lwt.nix
@@ -1,13 +1,16 @@
-{ lib, buildDunePackage, alcotest, logs, ocaml_lwt }:
+{ lib, buildDunePackage, alcotest, logs, ocaml_lwt, fmt
+, re, cmdliner
+}:
 
 buildDunePackage {
   pname = "alcotest-lwt";
 
   inherit (alcotest) version src useDune2;
 
-  propagatedBuildInputs = [ alcotest logs ocaml_lwt ];
+  propagatedBuildInputs = [ alcotest logs ocaml_lwt fmt ];
 
   doCheck = true;
+  checkInputs = [ re cmdliner ];
 
   meta = alcotest.meta // {
     description = "Lwt-based helpers for Alcotest";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/alcotest/mirage.nix b/nixpkgs/pkgs/development/ocaml-modules/alcotest/mirage.nix
new file mode 100644
index 000000000000..b4ba4246b2cd
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/alcotest/mirage.nix
@@ -0,0 +1,16 @@
+{ lib, buildDunePackage, alcotest, lwt, logs, mirage-clock, duration }:
+
+buildDunePackage {
+  pname = "alcotest-mirage";
+
+  inherit (alcotest) version src useDune2;
+
+  propagatedBuildInputs = [ alcotest lwt logs mirage-clock duration ];
+
+  doCheck = true;
+
+  meta = alcotest.meta // {
+    description = "Mirage implementation for Alcotest";
+    maintainers = with lib.maintainers; [ ulrikstrid anmonteiro ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/camlimages/4.1.2.nix b/nixpkgs/pkgs/development/ocaml-modules/camlimages/4.1.2.nix
deleted file mode 100644
index dba303afdf24..000000000000
--- a/nixpkgs/pkgs/development/ocaml-modules/camlimages/4.1.2.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib, stdenv, fetchFromGitLab, fetchpatch, omake, ocaml, findlib
-, graphicsmagick, ghostscript
-, freetype, giflib, libjpeg, libpng, libtiff, libXpm
-}:
-
-stdenv.mkDerivation rec {
-  pname = "camlimages";
-  version = "4.1.2";
-
-  src = fetchFromGitLab {
-    owner = "camlspotter";
-    repo = "camlimages";
-    rev = "98661d507e12ce91a51295a50f244cb8265b4439"; # no tag
-    sha256 = "0kpxj8wm2m17wjq217jzjpfgv1d7sp4w1yd1gi8ipn5rj4sid2j8";
-  };
-
-  buildInputs = [ ocaml omake findlib graphicsmagick ghostscript ];
-  propagatedBuildInputs = [ libtiff libjpeg libpng giflib freetype libXpm ];
-
-  createFindlibDestdir = true;
-
-  buildPhase = ''
-    omake
-  '';
-
-  installPhase = ''
-    omake install
-  '';
-
-  meta = with lib; {
-    branch = "4.1";
-    homepage = "https://gitlab.com/camlspotter/camlimages";
-    description = "OCaml image processing library";
-    license = licenses.lgpl2;
-    maintainers = [ maintainers.vbgl ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/camlimages/4.2.4.nix b/nixpkgs/pkgs/development/ocaml-modules/camlimages/4.2.4.nix
new file mode 100644
index 000000000000..8ed562a27e69
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/camlimages/4.2.4.nix
@@ -0,0 +1,75 @@
+{ stdenv
+, lib
+, fetchFromGitLab
+, ocaml
+, findlib
+, omake
+, graphicsmagick
+, libpng
+, libjpeg
+, libexif
+, libtiff
+, libXpm
+, freetype
+, giflib
+, ghostscript
+}:
+
+assert lib.versionOlder ocaml.version "4.06";
+
+stdenv.mkDerivation rec {
+  name = "ocaml${ocaml.version}-${pname}-${version}";
+  pname = "camlimages";
+  version = "4.2.4";
+
+  src = fetchFromGitLab {
+    owner = "camlspotter";
+    repo = pname;
+    rev = "c4f0ec4178fd18cb85872181965c5f020c349160";
+    sha256 = "17hvsql5dml7ialjcags8wphs7w6z88b2rgjir1382bg8vn62bkr";
+  };
+
+  nativeBuildInputs = [
+    omake
+    ocaml
+    findlib
+    graphicsmagick
+  ];
+
+  propagatedBuildInputs = [
+    libpng
+    libjpeg
+    libexif
+    libtiff
+    libXpm
+    freetype
+    giflib
+    ghostscript
+  ];
+
+  buildPhase = ''
+    runHook preBuild
+    omake
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preBuild
+    omake install
+    runHook postBuild
+  '';
+
+  createFindlibDestdir = true;
+
+  meta = with lib; {
+    # 4.2.5 requires OCaml >= 4.06
+    branch = "4.2.4";
+    homepage = "https://gitlab.com/camlspotter/camlimages";
+    description = "OCaml image processing library";
+    license = licenses.lgpl2Only;
+    maintainers = [
+      maintainers.vbgl
+      maintainers.sternenseemann
+    ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/camlpdf/default.nix b/nixpkgs/pkgs/development/ocaml-modules/camlpdf/default.nix
index 18683d5f1709..f496ce91c826 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/camlpdf/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/camlpdf/default.nix
@@ -5,27 +5,17 @@ then throw "camlpdf is not available for OCaml ${ocaml.version}"
 else
 
 stdenv.mkDerivation rec {
-  version = "2.3.1";
+  version = "2.4";
   name = "ocaml${ocaml.version}-camlpdf-${version}";
   src = fetchFromGitHub {
     owner = "johnwhitington";
     repo = "camlpdf";
     rev = "v${version}";
-    sha256 = "1q69hhk63z836jbkv4wsng27w35w0qpz01c7ax0mqm8d8kmnr0v4";
+    sha256 = "09kzrgmlxb567315p3fy59ba0kv7xhp548n9i3l4wf9n06p0ww9m";
   };
 
   buildInputs = [ which ocaml findlib ];
 
-  # Version number in META file is wrong
-  patchPhase = ''
-    patch -p 0 META <<EOF
-    3c3
-    < version="1.7.1"
-    ---
-    > version="${version}"
-    EOF
-  '';
-
   preInstall = ''
     mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs
   '';
diff --git a/nixpkgs/pkgs/development/ocaml-modules/cpdf/default.nix b/nixpkgs/pkgs/development/ocaml-modules/cpdf/default.nix
index cc2aad52d3d6..2a0fae4a1dbb 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/cpdf/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/cpdf/default.nix
@@ -1,6 +1,10 @@
 { lib, stdenv, fetchFromGitHub, ocaml, findlib, camlpdf, ncurses }:
 
-let version = "2.3.1"; in
+if !lib.versionAtLeast ocaml.version "4.10"
+then throw "cpdf is not available for OCaml ${ocaml.version}"
+else
+
+let version = "2.4"; in
 
 stdenv.mkDerivation {
   name = "ocaml${ocaml.version}-cpdf-${version}";
@@ -9,19 +13,14 @@ stdenv.mkDerivation {
     owner = "johnwhitington";
     repo = "cpdf-source";
     rev = "v${version}";
-    sha256 = "1gwz0iy28f67kbqap2q10nf98dalwbi03vv5j893z2an7pb4w68z";
+    sha256 = "1a8lmfc76dr8x6pxgm4aypbys02pfma9yh4z3l1qxp2q1909na5l";
   };
 
-  prePatch = ''
-    substituteInPlace META --replace 'version="1.7"' 'version="${version}"'
-  '';
-
   buildInputs = [ ocaml findlib ncurses ];
   propagatedBuildInputs = [ camlpdf ];
 
-  createFindlibDestdir = true;
-
-  postInstall = ''
+  preInstall = ''
+    mkdir -p $OCAMLFIND_DESTDIR
     mkdir -p $out/bin
     cp cpdf $out/bin
     mkdir -p $out/share/
diff --git a/nixpkgs/pkgs/development/ocaml-modules/lwt-canceler/default.nix b/nixpkgs/pkgs/development/ocaml-modules/lwt-canceler/default.nix
new file mode 100644
index 000000000000..2e4d12082b75
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/lwt-canceler/default.nix
@@ -0,0 +1,27 @@
+{ lib, fetchFromGitLab, buildDunePackage, lwt }:
+
+buildDunePackage rec {
+  pname = "lwt-canceler";
+  version = "0.2";
+
+  src = fetchFromGitLab {
+    owner = "nomadic-labs";
+    repo = "lwt-canceler";
+    rev = "v${version}";
+    sha256 = "07931486vg83sl1c268i0vyw61l8n8xs2krjsj43070zljqi8rf1";
+  };
+  useDune2 = true;
+
+  propagatedBuildInputs = [
+    lwt
+  ];
+
+  doCheck = true;
+
+  meta = {
+    homepage = "https://gitlab.com/nomadic-labs/lwt-canceler";
+    description = "Cancellation synchronization object";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.ulrikstrid ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ppxlib/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ppxlib/default.nix
index a19d8cce52fb..c4591927e075 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ppxlib/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ppxlib/default.nix
@@ -2,7 +2,7 @@
 , version ?
   if lib.versionAtLeast ocaml.version "4.07"
   then if lib.versionAtLeast ocaml.version "4.08"
-  then "0.22.0" else "0.15.0" else "0.13.0"
+  then "0.22.2" else "0.15.0" else "0.13.0"
 , ocaml-compiler-libs, ocaml-migrate-parsetree, ppx_derivers, stdio
 , stdlib-shims, ocaml-migrate-parsetree-2
 }:
@@ -34,6 +34,10 @@ let param = {
     sha256 = "0kf7lgcwygf6zlx7rwddqpqvasa6v7xiq0bqal8vxlib6lpg074q";
     min_version = "4.07";
   };
+  "0.22.2" = {
+    sha256 = "0fysjqcpv281n52wl3h0dy2lzf9d61wdzk90ldv3p63a4i3mr1j2";
+    min_version = "4.07";
+  };
 }."${version}"; in
 
 if param ? max_version && lib.versionAtLeast ocaml.version param.max_version
diff --git a/nixpkgs/pkgs/development/ocaml-modules/routes/default.nix b/nixpkgs/pkgs/development/ocaml-modules/routes/default.nix
new file mode 100644
index 000000000000..a83d0db5d84d
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/routes/default.nix
@@ -0,0 +1,21 @@
+{ lib, fetchurl, buildDunePackage }:
+
+buildDunePackage rec {
+  pname = "routes";
+  version = "0.9.1";
+
+  useDune2 = true;
+  minimalOCamlVersion = "4.05";
+
+  src = fetchurl {
+    url = "https://github.com/anuragsoni/routes/releases/download/${version}/routes-${version}.tbz";
+    sha256 = "0h2c1p5w6237c1lmsl5c8q2dj5dq20gf2cmb12nbmlfn12sfmcrl";
+  };
+
+  meta = with lib; {
+    description = "Typed routing for OCaml applications";
+    license = licenses.bsd3;
+    homepage = "https://anuragsoni.github.io/routes";
+    maintainers = with maintainers; [ ulrikstrid anmonteiro ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/stringext/default.nix b/nixpkgs/pkgs/development/ocaml-modules/stringext/default.nix
index ae797815aed5..8aaf36baa8b5 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/stringext/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/stringext/default.nix
@@ -1,32 +1,24 @@
-{ stdenv, lib, fetchzip, ocaml, findlib, ocamlbuild, ounit, qcheck
+{ lib, fetchurl, ocaml, buildDunePackage, ounit, qtest
 # Optionally enable tests; test script use OCaml-4.01+ features
-, doCheck ? lib.versionAtLeast (lib.getVersion ocaml) "4.01"
+, doCheck ? lib.versionAtLeast ocaml.version "4.04"
 }:
 
-let version = "1.4.3"; in
+let version = "1.6.0"; in
 
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-stringext-${version}";
-
-  src = fetchzip {
-    url = "https://github.com/rgrinberg/stringext/archive/v${version}.tar.gz";
-    sha256 = "121k79vjazvsd254yg391fp4spsd1p32amccrahd0g6hjhf5w6sl";
+buildDunePackage {
+  pname = "stringext";
+  version = version;
+  useDune2 = true;
+  src = fetchurl {
+    url = "https://github.com/rgrinberg/stringext/releases/download/${version}/stringext-${version}.tbz";
+    sha256 = "1sh6nafi3i9773j5mlwwz3kxfzdjzsfqj2qibxhigawy5vazahfv";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild ounit qcheck ];
-
-  configurePhase = "ocaml setup.ml -configure --prefix $out"
-  + lib.optionalString doCheck " --enable-tests";
-  buildPhase = "ocaml setup.ml -build";
+  checkInputs = [ ounit qtest ];
   inherit doCheck;
-  checkPhase = "ocaml setup.ml -test";
-  installPhase = "ocaml setup.ml -install";
-
-  createFindlibDestdir = true;
 
   meta = {
     homepage = "https://github.com/rgrinberg/stringext";
-    platforms = ocaml.meta.platforms or [];
     description = "Extra string functions for OCaml";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ vbgl ];
diff --git a/nixpkgs/pkgs/development/perl-modules/strip-nondeterminism/default.nix b/nixpkgs/pkgs/development/perl-modules/strip-nondeterminism/default.nix
index 20463ed24250..bdbd1a816434 100644
--- a/nixpkgs/pkgs/development/perl-modules/strip-nondeterminism/default.nix
+++ b/nixpkgs/pkgs/development/perl-modules/strip-nondeterminism/default.nix
@@ -18,7 +18,8 @@ buildPerlPackage rec {
   doCheck = false;
 
   nativeBuildInputs = lib.optionals stdenv.isDarwin [ shortenPerlShebang ];
-  buildInputs = [ ArchiveZip ArchiveCpio file ];
+  buildInputs = [ ArchiveZip ArchiveCpio ];
+  propagatedNativeBuildInputs = [ file ];
 
   perlPostHook = ''
     # we don’t need the debhelper script
diff --git a/nixpkgs/pkgs/development/python-modules/Nikola/default.nix b/nixpkgs/pkgs/development/python-modules/Nikola/default.nix
index 17a6e4d6a899..ae18ce5dc319 100644
--- a/nixpkgs/pkgs/development/python-modules/Nikola/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/Nikola/default.nix
@@ -3,7 +3,7 @@
 , Babel
 , blinker
 , buildPythonPackage
-, dateutil
+, python-dateutil
 , docutils
 , doit
 , fetchPypi
@@ -53,7 +53,7 @@ buildPythonPackage rec {
     aiohttp
     Babel
     blinker
-    dateutil
+    python-dateutil
     docutils
     doit
     ghp-import
diff --git a/nixpkgs/pkgs/development/python-modules/adafruit-platformdetect/default.nix b/nixpkgs/pkgs/development/python-modules/adafruit-platformdetect/default.nix
index adb72d0cd03b..114130595339 100644
--- a/nixpkgs/pkgs/development/python-modules/adafruit-platformdetect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/adafruit-platformdetect/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "adafruit-platformdetect";
-  version = "3.14.0";
+  version = "3.14.2";
 
   src = fetchPypi {
     pname = "Adafruit-PlatformDetect";
     inherit version;
-    sha256 = "1v33546cflsbm6k8mhmi1r5c8fqjlirvzmf62a604xns8wrxb88h";
+    sha256 = "sha256-SFqSTNKZMETRf9RxSD6skzAVpxepmW+JG/gqZgFX06A=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/adafruit-pureio/default.nix b/nixpkgs/pkgs/development/python-modules/adafruit-pureio/default.nix
index 36bafb0f7a07..d3712ba46c24 100644
--- a/nixpkgs/pkgs/development/python-modules/adafruit-pureio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/adafruit-pureio/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "Adafruit-PureIO";
-  version = "1.1.8";
+  version = "1.1.9";
 
   src = fetchPypi {
     pname = "Adafruit_PureIO";
     inherit version;
-    sha256 = "1mfa6sfz7qwgajz3lqw0s69ivvwbwvblwkjzbrwdrxjbma4jaw66";
+    sha256 = "0yd8hw676s7plq75gac4z0ilfcfydjkk3wv76bc73xy70zxj5brc";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/adal/default.nix b/nixpkgs/pkgs/development/python-modules/adal/default.nix
index 31e0e73016cd..b555188b4b5c 100644
--- a/nixpkgs/pkgs/development/python-modules/adal/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/adal/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonPackage, fetchPypi
-, requests, pyjwt, dateutil }:
+, requests, pyjwt, python-dateutil }:
 
 buildPythonPackage rec {
   pname = "adal";
@@ -10,7 +10,7 @@ buildPythonPackage rec {
     sha256 = "d74f45b81317454d96e982fd1c50e6fb5c99ac2223728aea8764433a39f566f1";
   };
 
-  propagatedBuildInputs =  [ requests pyjwt dateutil ];
+  propagatedBuildInputs =  [ requests pyjwt python-dateutil ];
 
   meta = with lib; {
     description = "Library to make it easy for python application to authenticate to Azure Active Directory (AAD) in order to access AAD protected web resources";
diff --git a/nixpkgs/pkgs/development/python-modules/ailment/default.nix b/nixpkgs/pkgs/development/python-modules/ailment/default.nix
index 388880cda0b3..961a6cff1960 100644
--- a/nixpkgs/pkgs/development/python-modules/ailment/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ailment/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "ailment";
-  version = "9.0.8021";
+  version = "9.0.8761";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-DeQvYuVRYOxyVPqHzTSNtEUUN4tHhSVMZoex6SUWik8=";
+    sha256 = "sha256-UAtVWh3BBZZmU5+BR0+2B+rivzR4E7bZK1ro1uKngtE=";
   };
 
   propagatedBuildInputs = [ pyvex ];
diff --git a/nixpkgs/pkgs/development/python-modules/aiocoap/default.nix b/nixpkgs/pkgs/development/python-modules/aiocoap/default.nix
index dd74a21bf9b8..e169b886f88e 100644
--- a/nixpkgs/pkgs/development/python-modules/aiocoap/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiocoap/default.nix
@@ -1,24 +1,42 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, python
+, pytestCheckHook
+, pygments
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "aiocoap";
-  version = "0.4b3";
+  version = "0.4.1";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "chrysn";
     repo = pname;
     rev = version;
-    sha256 = "1zjg475xgvi19rqg7jmfgy5nfabq50aph0231p9jba211ps7cmxw";
+    sha256 = "0k7ii2l3n139f8712ja6w3z73xiwlfsjgdc4k5c514ni2w6w2yjc";
   };
 
-  checkPhase = ''
-    ${python.interpreter} -m aiocoap.cli.defaults
-    ${python.interpreter} -m unittest discover -v
-  '';
+  propagatedBuildInputs = [
+    pygments
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTestPaths = [
+    # Don't test the plugins
+    "tests/test_tls.py"
+    "tests/test_reverseproxy.py"
+    "tests/test_oscore_plugtest.py"
+  ];
+
+  disabledTests = [
+    # Communication is not properly mocked
+    "test_uri_parser"
+  ];
 
   pythonImportsCheck = [ "aiocoap" ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/aiolifx-effects/default.nix b/nixpkgs/pkgs/development/python-modules/aiolifx-effects/default.nix
index 0a06144c65c3..201fdb32a0be 100644
--- a/nixpkgs/pkgs/development/python-modules/aiolifx-effects/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiolifx-effects/default.nix
@@ -7,20 +7,21 @@
 
 buildPythonPackage rec {
   pname = "aiolifx-effects";
-  version = "0.2.1";
+  version = "0.2.2";
+  disabled = !isPy3k;
 
   src = fetchPypi {
     inherit version;
     pname = "aiolifx_effects";
-    sha256 = "cb4ac52deeb220783fc6449251cf40833fcffa28648270be64b1b3e83e06b503";
+    sha256 = "sha256-qkXJDYdJ+QyQWn/u7g6t4QJG1uSqle+a5RhTkPPsHKo=";
   };
 
+  propagatedBuildInputs = [ aiolifx ];
+
   # tests are not implemented
   doCheck = false;
 
-  disabled = !isPy3k;
-
-  propagatedBuildInputs = [ aiolifx ];
+  pythonImportsCheck = [ "aiolifx_effects" ];
 
   meta = with lib; {
     homepage = "https://github.com/amelchio/aiolifx_effects";
diff --git a/nixpkgs/pkgs/development/python-modules/aiomusiccast/default.nix b/nixpkgs/pkgs/development/python-modules/aiomusiccast/default.nix
new file mode 100644
index 000000000000..267ca5b4a5a6
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/aiomusiccast/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, poetry-core
+, aiohttp
+}:
+
+buildPythonPackage rec {
+  pname = "aiomusiccast";
+  version = "0.8.2";
+
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "vigonotion";
+    repo = "aiomusiccast";
+    rev = version;
+    sha256 = "sha256-XmDE704c9KJst8hrvdyQdS52Sd6RnprQZjBCIWAaiho=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  # upstream has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "aiomusiccast" ];
+
+  meta = with lib; {
+    description = "Companion library for musiccast devices intended for the Home Assistant integration";
+    homepage = "https://github.com/vigonotion/aiomusiccast";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/aiopg/default.nix b/nixpkgs/pkgs/development/python-modules/aiopg/default.nix
index cb9cd327e8ce..36ea00234830 100644
--- a/nixpkgs/pkgs/development/python-modules/aiopg/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiopg/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "aiopg";
-  version = "1.2.1";
+  version = "1.3.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "aio-libs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0c6s2p1fjbdk1ygpl6a1s1rbnsk8gw9kj99pf98nxhb9j3iahas4";
+    sha256 = "sha256-/J53WqBag4ArSF7wETvmoBUtgNqp4eYGH0ytipiSKBI=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiopylgtv/default.nix b/nixpkgs/pkgs/development/python-modules/aiopylgtv/default.nix
index 200bc41b7a5d..ad089ef708e7 100644
--- a/nixpkgs/pkgs/development/python-modules/aiopylgtv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiopylgtv/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "aiopylgtv";
-  version = "0.4.0";
+  version = "0.4.1";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "bendavid";
     repo = pname;
     rev = version;
-    sha256 = "0x0xcnlz42arsp53zlq5wyv9pwif1in8j2pv48gh0pkdnz9s86b6";
+    sha256 = "sha256-NkWJGy5QUrhpbARoscrXy/ilCjAz01YxeVTH0I+IjNM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiosignal/default.nix b/nixpkgs/pkgs/development/python-modules/aiosignal/default.nix
index 9b9ef3b12ae1..9d919becd439 100644
--- a/nixpkgs/pkgs/development/python-modules/aiosignal/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiosignal/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "aiosignal";
-  version = "1.1.1";
+  version = "1.1.2";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "aio-libs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0a9md2dy83qwg2an57nqrzp9nb7krq27y9zz0f7qxcrv0xd42djy";
+    sha256 = "1gyvisccx25py85wwwlljai5qa20jvwyvacgrgkk1h18dkc262fw";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiounittest/default.nix b/nixpkgs/pkgs/development/python-modules/aiounittest/default.nix
index eeb0ea0af577..088131824ad7 100644
--- a/nixpkgs/pkgs/development/python-modules/aiounittest/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiounittest/default.nix
@@ -4,20 +4,25 @@
 , nose
 , coverage
 , isPy27
+, wrapt
 }:
 
 buildPythonPackage rec {
   pname = "aiounittest";
-  version = "1.3.1";
+  version = "1.4.0";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "kwarunek";
     repo = pname;
     rev = version;
-    sha256 = "0mlic2q49cb0vv62mixy4i4x8c91qb6jlji7khiamcxcg676nasl";
+    sha256 = "sha256-GbGApY4pQoFpP3RTCLdjjTnJbdz9wEXXzZRRYXgtFEM=";
   };
 
+  propagatedBuildInputs = [
+    wrapt
+  ];
+
   checkInputs = [
     nose
     coverage
@@ -27,6 +32,8 @@ buildPythonPackage rec {
     nosetests
   '';
 
+  pythonImportsCheck = [ "aiounittest" ];
+
   meta = with lib; {
     description = "Test asyncio code more easily";
     homepage = "https://github.com/kwarunek/aiounittest";
diff --git a/nixpkgs/pkgs/development/python-modules/alembic/default.nix b/nixpkgs/pkgs/development/python-modules/alembic/default.nix
index c820ee81ee2a..81502a470a68 100644
--- a/nixpkgs/pkgs/development/python-modules/alembic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/alembic/default.nix
@@ -1,6 +1,6 @@
 { lib, buildPythonPackage, fetchPypi
 , pytest, pytestcov, mock, coverage, setuptools
-, Mako, sqlalchemy, python-editor, dateutil
+, Mako, sqlalchemy, python-editor, python-dateutil
 }:
 
 buildPythonPackage rec {
@@ -13,7 +13,7 @@ buildPythonPackage rec {
   };
 
   buildInputs = [ pytest pytestcov mock coverage ];
-  propagatedBuildInputs = [ Mako sqlalchemy python-editor dateutil setuptools ];
+  propagatedBuildInputs = [ Mako sqlalchemy python-editor python-dateutil setuptools ];
 
   # no traditional test suite
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/angr/default.nix b/nixpkgs/pkgs/development/python-modules/angr/default.nix
index 89cdc5c55f0b..092d3a53e941 100644
--- a/nixpkgs/pkgs/development/python-modules/angr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/angr/default.nix
@@ -42,14 +42,14 @@ in
 
 buildPythonPackage rec {
   pname = "angr";
-  version = "9.0.8021";
+  version = "9.0.8761";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-brX/HdeZSPOnZKuD1v086GwyWSV8yA/FaMC3CbeI4Xk=";
+    sha256 = "sha256-vPqCezHYJP3ue3/J/Pni9jPvSJ+om7nAVgPTU6z5xBE=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/angrop/default.nix b/nixpkgs/pkgs/development/python-modules/angrop/default.nix
index 09d1388c25ec..aa6f72eae54f 100644
--- a/nixpkgs/pkgs/development/python-modules/angrop/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/angrop/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "angrop";
-  version = "9.0.8021";
+  version = "9.0.8761";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-wkCgVVHulu1hGdbUSEi38aMWy2UfR3g/7jj+o+NLI44=";
+    sha256 = "sha256-M/4kEESL9OH4KyPgsrlVzm54OtU28pDox5qtV7Up2ew=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aniso8601/default.nix b/nixpkgs/pkgs/development/python-modules/aniso8601/default.nix
index 9cc3fb827755..62db58d611e4 100644
--- a/nixpkgs/pkgs/development/python-modules/aniso8601/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aniso8601/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, dateutil
+, python-dateutil
 , fetchPypi
 , isPy3k
 , mock
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    dateutil
+    python-dateutil
   ];
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/anyio/default.nix b/nixpkgs/pkgs/development/python-modules/anyio/default.nix
index 9ac37cdc5994..4c6a5e190788 100644
--- a/nixpkgs/pkgs/development/python-modules/anyio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/anyio/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "anyio";
-  version = "3.2.0";
+  version = "3.2.1";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "agronholm";
     repo = pname;
     rev = version;
-    sha256 = "sha256-zQiSAQN7cp1s+8hDTvYaMkHUXV1ccNwIsl2IOztH7J8=";
+    sha256 = "0fiqzsgr9c0yicsh1pwhyc6z4qyr2ng42dakyy4a81w9cff38had";
   };
 
   preBuild = ''
diff --git a/nixpkgs/pkgs/development/python-modules/apispec/default.nix b/nixpkgs/pkgs/development/python-modules/apispec/default.nix
index 2db76ab24839..3bc1e6d4a5cf 100644
--- a/nixpkgs/pkgs/development/python-modules/apispec/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/apispec/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "apispec";
-  version = "4.6.0";
+  version = "4.7.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a896f97394b7d046d46c65262e51e45241dd8d9d71eedebcdb2d7024b775eec4";
+    sha256 = "sha256-v6G+yLWyzqZyfgIMOm/hHZYwiN0u1hbhFHXOry1naTc=";
   };
 
   propagatedBuildInputs = [
@@ -32,8 +32,10 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  pythonImportsCheck = [ "apispec" ];
+
   meta = with lib; {
-    description = "A pluggable API specification generator. Currently supports the OpenAPI Specification (f.k.a. the Swagger specification";
+    description = "A pluggable API specification generator with support for the OpenAPI Specification";
     homepage = "https://github.com/marshmallow-code/apispec";
     license = licenses.mit;
     maintainers = [ maintainers.costrouc ];
diff --git a/nixpkgs/pkgs/development/python-modules/aqualogic/default.nix b/nixpkgs/pkgs/development/python-modules/aqualogic/default.nix
index 9a23ebd82a9f..255248e8d924 100644
--- a/nixpkgs/pkgs/development/python-modules/aqualogic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aqualogic/default.nix
@@ -1,33 +1,36 @@
 { lib
+, aiohttp
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , pyserial
 , pytestCheckHook
+, websockets
 }:
 
 buildPythonPackage rec {
   pname = "aqualogic";
-  version = "2.6";
+  version = "3.3";
 
   src = fetchFromGitHub {
     owner = "swilson";
     repo = pname;
     rev = version;
-    sha256 = "sha256-dAC/0OjvrC8J/5pu5vcOKV/WqgkAlz0LuFl0up6FQRM=";
+    sha256 = "sha256-6YvkSUtBc3Nl/Ap3LjU0IKY2bE4k86XdSoLo+/c8dDs=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "allow-iobase-objects.patch";
-      url = "https://github.com/swilson/aqualogic/commit/185fe25a86c82c497a55c78914b55ed39f5ca339.patch";
-      sha256 = "072jrrsqv86bn3skibjc57111jlpm8pq2503997fl3h4v6ziwdxg";
-    })
+  propagatedBuildInputs = [
+    pyserial
+    websockets
   ];
 
-  propagatedBuildInputs = [ pyserial ];
+  checkInputs = [
+    aiohttp
+    pytestCheckHook
+  ];
 
-  checkInputs = [ pytestCheckHook ];
+  # With 3.3 the event loop is not terminated after the first test
+  # https://github.com/swilson/aqualogic/issues/9
+  doCheck = false;
 
   pythonImportsCheck = [ "aqualogic" ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/archinfo/default.nix b/nixpkgs/pkgs/development/python-modules/archinfo/default.nix
index 96cbf539fd18..580b05b82ade 100644
--- a/nixpkgs/pkgs/development/python-modules/archinfo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/archinfo/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "archinfo";
-  version = "9.0.8021";
+  version = "9.0.8761";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-j8sPrSaKam5gv1ZlTA3fF1u3UMei9jy843O0n8Hsibc=";
+    sha256 = "sha256-mdry5JQIW1b2p9a+c6RfHE6HYs54WKFofPkzFCgpUXg=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/asdf/default.nix b/nixpkgs/pkgs/development/python-modules/asdf/default.nix
index 33513b2289c5..363d8900163a 100644
--- a/nixpkgs/pkgs/development/python-modules/asdf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asdf/default.nix
@@ -2,6 +2,8 @@
 , astropy
 , buildPythonPackage
 , fetchPypi
+, importlib-resources
+, jmespath
 , jsonschema
 , numpy
 , packaging
@@ -15,23 +17,26 @@
 
 buildPythonPackage rec {
   pname = "asdf";
-  version = "2.7.3";
+  version = "2.8.1";
   disabled = pythonOlder "3.6";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "11dyr295wn5m2pcynlwj7kgw9xr66msfvwn1m6a5vv13vzj19spp";
+    sha256 = "sha256-bp3fME3FTa5vcj7qUoUEGqvuI2uwSpI13zDcFgWvbJw=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
 
   propagatedBuildInputs = [
+    jmespath
     jsonschema
     numpy
     packaging
     pyyaml
     semantic-version
+  ] ++ lib.optionals (pythonOlder "3.9") [
+    importlib-resources
   ];
 
   checkInputs = [
@@ -50,6 +55,6 @@ buildPythonPackage rec {
     description = "Python tools to handle ASDF files";
     homepage = "https://github.com/spacetelescope/asdf";
     license = licenses.bsd3;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/ase/default.nix b/nixpkgs/pkgs/development/python-modules/ase/default.nix
index 868402577256..25210e4740bd 100644
--- a/nixpkgs/pkgs/development/python-modules/ase/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ase/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "ase";
-  version = "3.21.1";
+  version = "3.22.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "78b01d88529d5f604e76bc64be102d48f058ca50faad72ac740d717545711c7b";
+    sha256 = "sha256-5gJZx7UIZ7HLgXyvk4/MHtODcCQT320uGv5+oH9lrO4=";
   };
 
   propagatedBuildInputs = [ numpy scipy matplotlib flask pillow psycopg2 ];
@@ -29,6 +29,8 @@ buildPythonPackage rec {
   # tests just hang most likely due to something with subprocesses and cli
   doCheck = false;
 
+  pythonImportsCheck = [ "ase" ];
+
   meta = with lib; {
     description = "Atomic Simulation Environment";
     homepage = "https://wiki.fysik.dtu.dk/ase/";
diff --git a/nixpkgs/pkgs/development/python-modules/asteval/default.nix b/nixpkgs/pkgs/development/python-modules/asteval/default.nix
index a55aef99ecbb..dd772e007cc1 100644
--- a/nixpkgs/pkgs/development/python-modules/asteval/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asteval/default.nix
@@ -3,21 +3,30 @@
 , fetchFromGitHub
 , pytestCheckHook
 , pythonOlder
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "asteval";
-  version = "0.9.23";
+  version = "0.9.25";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "newville";
     repo = pname;
     rev = version;
-    sha256 = "sha256-9Zxb2EzB6nxDQHdlryFiwyNW+76VvysLUB78bXKzfv0=";
+    sha256 = "sha256-Jy+4NifItCGI1Jj25VakwoJcrpZw0Ng4cArf2M31WGs=";
   };
 
-  checkInputs = [ pytestCheckHook ];
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
 
   pythonImportsCheck = [ "asteval" ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/async-dns/default.nix b/nixpkgs/pkgs/development/python-modules/async-dns/default.nix
index fdf240f5ba96..3067269aac9f 100644
--- a/nixpkgs/pkgs/development/python-modules/async-dns/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/async-dns/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , poetry-core
 , python
 , pythonOlder
@@ -9,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "async-dns";
-  version = "1.1.9";
+  version = "1.1.10";
   disabled = pythonOlder "3.6";
   format = "pyproject";
 
@@ -17,23 +16,13 @@ buildPythonPackage rec {
     owner = "gera2ld";
     repo = "async_dns";
     rev = "v${version}";
-    sha256 = "1z8j0s3dwcyavarhx41q75k1cmfzmwiqdh4svv3v15np26cywyag";
+    sha256 = "1yxmdlf2n66kp2mprsd4bvfsf63l4c4cfkjm2rm063pmlifz2fvj";
   };
 
   nativeBuildInputs = [
     poetry-core
   ];
 
-  patches = [
-    # Switch to poetry-core, https://github.com/gera2ld/async_dns/pull/22
-    # Can be remove for async-dns>1.1.9
-    (fetchpatch {
-      name = "switch-to-poetry-core.patch";
-      url = "https://github.com/gera2ld/async_dns/commit/25fee497aae3bde0ddf9f8804d249a27edbe607e.patch";
-      sha256 = "0w4zlppnp1a2q1wasc95ymqx3djswl32y5nw6fvz3nn8jg4gc743";
-    })
-  ];
-
   checkPhase = ''
     export HOME=$TMPDIR
     # Test needs network access
diff --git a/nixpkgs/pkgs/development/python-modules/asyncssh/default.nix b/nixpkgs/pkgs/development/python-modules/asyncssh/default.nix
index f02f5291bf15..160a90a0e6d0 100644
--- a/nixpkgs/pkgs/development/python-modules/asyncssh/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asyncssh/default.nix
@@ -1,40 +1,40 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
 , cryptography
-, bcrypt, gssapi, libnacl, libsodium, nettle, pyopenssl
-, openssl, openssh, pytestCheckHook }:
+, bcrypt
+, gssapi
+, fido2
+, libnacl
+, libsodium
+, nettle
+, python-pkcs11
+, pyopenssl
+, openssl
+, openssh
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "asyncssh";
-  version = "2.6.0";
-  disabled = pythonOlder "3.4";
+  version = "2.7.0";
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "20f0ef553a1e64a7d38db86ba3a2f3907e72f1e81f3dfec5edb191383783c7d1";
+    sha256 = "sha256-GFAT2OZ3R8PA8BtyQWuL14QX2h30jHH3baU8YH71QbY=";
   };
 
-  patches = [
-    # Reverts https://github.com/ronf/asyncssh/commit/4b3dec994b3aa821dba4db507030b569c3a32730
-    #
-    # This changed the test to avoid setting the sticky bit
-    # because that's not allowed for plain files in FreeBSD.
-    # However that broke the test on NixOS, failing with
-    # "Operation not permitted"
-    ./fix-sftp-chmod-test-nixos.patch
-  ];
-
-  # Disables windows specific test (specifically the GSSAPI wrapper for Windows)
-  postPatch = ''
-    rm tests/sspi_stub.py
-  '';
-
   propagatedBuildInputs = [
     bcrypt
     cryptography
+    fido2
     gssapi
     libnacl
     libsodium
     nettle
+    python-pkcs11
     pyopenssl
   ];
 
@@ -44,11 +44,26 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  disabledTests = [ "test_expired_root" "test_confirm" ];
+  patches = [
+    # Reverts https://github.com/ronf/asyncssh/commit/4b3dec994b3aa821dba4db507030b569c3a32730
+    #
+    # This changed the test to avoid setting the sticky bit
+    # because that's not allowed for plain files in FreeBSD.
+    # However that broke the test on NixOS, failing with
+    # "Operation not permitted"
+    ./fix-sftp-chmod-test-nixos.patch
+  ];
+
+  disabledTestPaths = [
+    # Disables windows specific test (specifically the GSSAPI wrapper for Windows)
+    "tests/sspi_stub.py"
+  ];
+
+  pythonImportsCheck = [ "asyncssh" ];
 
   meta = with lib; {
-    description = "Provides an asynchronous client and server implementation of the SSHv2 protocol on top of the Python asyncio framework";
-    homepage = "https://asyncssh.readthedocs.io/en/latest";
+    description = "Asynchronous SSHv2 Python client and server library";
+    homepage = "https://asyncssh.readthedocs.io/";
     license = licenses.epl20;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/asyncstdlib/default.nix b/nixpkgs/pkgs/development/python-modules/asyncstdlib/default.nix
index 63e096bdc0f2..dc68584d668f 100644
--- a/nixpkgs/pkgs/development/python-modules/asyncstdlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asyncstdlib/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "asyncstdlib";
-  version = "3.9.1";
+  version = "3.9.2";
   disabled = pythonOlder "3.7";
   format = "flit";
 
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "maxfischer2781";
     repo = pname;
     rev = "v${version}";
-    sha256 = "13ranr7zi61w52vfrxwkf32bbhk88j0r5c5z2x2h5vw268001lk2";
+    sha256 = "04z0x2n4a7503h6xf853p7if218magi98x397648wb21l4gh3zwv";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-core/default.nix b/nixpkgs/pkgs/development/python-modules/azure-core/default.nix
index 6718ca1d5042..8dce5b8feb75 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-core/default.nix
@@ -1,6 +1,7 @@
 { lib, buildPythonPackage, fetchPypi, isPy27
 , aiodns
 , aiohttp
+, flask
 , mock
 , msrest
 , pytest
@@ -14,14 +15,14 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.15.0";
+  version = "1.16.0";
   pname = "azure-core";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "197917b98fec661c35392e32abec4f690ac2117371a814e25e57c224ce23cf1f";
+    sha256 = "b1c7d2e01846074f258c8b2e592239aef836a2b1c27d8d0e8491a2c7e2906ef4";
   };
 
   propagatedBuildInputs = [
@@ -32,6 +33,7 @@ buildPythonPackage rec {
   checkInputs = [
     aiodns
     aiohttp
+    flask
     mock
     msrest
     pytest
@@ -51,6 +53,8 @@ buildPythonPackage rec {
     # wants network
     "tests/async_tests/test_streaming_async.py"
     "tests/test_streaming.py"
+    # testserver tests require being in a very specific working directory to make it work
+    "tests/testserver_tests/"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/azure-keyvault-administration/default.nix b/nixpkgs/pkgs/development/python-modules/azure-keyvault-administration/default.nix
index e72dc036989b..788eaf70457d 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-keyvault-administration/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-keyvault-administration/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "azure-keyvault-administration";
-  version = "4.0.0b1";
+  version = "4.0.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "1kmf2x3jdmfm9c7ldvajzckkm79gxxvl1l2968lizjwiyjbbsih5";
+    sha256 = "b05a0372f35921cedb7a231426077745eee9a65881088de6d4d8b73d9709a6cb";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-keyvault-certificates/default.nix b/nixpkgs/pkgs/development/python-modules/azure-keyvault-certificates/default.nix
index 56ccb8b5fb0d..52b1305998ec 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-keyvault-certificates/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-keyvault-certificates/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-keyvault-certificates";
-  version = "4.2.1";
+  version = "4.3.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "ea651883ad00d0a9a25b38e51feff7111f6c7099c6fb2597598da5bb21d3451c";
+    sha256 = "4e0a9bae9fd4c222617fbce6b31f97e2e0622774479de3c387239cbfbb828d87";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-keyvault-keys/default.nix b/nixpkgs/pkgs/development/python-modules/azure-keyvault-keys/default.nix
index bbdc06d52d4d..27f97854dd37 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-keyvault-keys/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-keyvault-keys/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "azure-keyvault-keys";
-  version = "4.3.1";
+  version = "4.4.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "fbf67bca913ebf68b9075ee9d2e2b899dc3c7892cc40abfe1b08220a382f6ed9";
+    sha256 = "7792ad0d5e63ad9eafa68bdce5de91b3ffcc7ca7a6afdc576785e6a2793caed0";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-keyvault-secrets/default.nix b/nixpkgs/pkgs/development/python-modules/azure-keyvault-secrets/default.nix
index 704d2951cc97..78f7f20e469e 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-keyvault-secrets/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-keyvault-secrets/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "azure-keyvault-secrets";
-  version = "4.2.0";
+  version = "4.3.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "1083ab900da5ec63c518ffef49d9fdca02c81ddffdf80c52c03cd9da479e021f";
+    sha256 = "26279ba3a6c727deba1fb61f549496867baddffbf062bd579d6fd2bc04e95276";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix
index 9fea2cf87d06..45147a94b2ab 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix
@@ -6,13 +6,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.0.1";
+  version = "2.0.0";
   pname = "azure-mgmt-appconfiguration";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b58bbe82a7429ba589292024896b58d96fe9fa732c578569cac349928dc2ca5f";
+    sha256 = "97e990ec6a5a3acafc7fc1add8ff1a160ebb2052792931352fd7cf1d90f1f956";
     extension = "zip";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix
index 76d5c11cb6fd..e903e553b44a 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-containerservice";
-  version = "15.1.0";
+  version = "16.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "51c64e01e614c9b88723b86b36b48f8417171610a098bf4690e39e71cefc32d9";
+    sha256 = "d6aa95951d32fe2cb390b3d8ae4f6459746de51bbaad94b5d1842dd35c4d0c11";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-core/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-core/default.nix
index c824f3725a7e..fe64cabb2567 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-core/default.nix
@@ -7,13 +7,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.2.2";
+  version = "1.3.0";
   pname = "azure-mgmt-core";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "4246810996107f72482a9351cf918d380c257e90942144ec9c0c2abda1d0a312";
+    sha256 = "3ffb7352b39e5495dccc2d2b47254f4d82747aff4735e8bf3267c335b0c9bb40";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix
index 1531a4e0758f..f546f2e23e0d 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-cosmosdb";
-  version = "6.3.0";
+  version = "6.4.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "4135104da5b0f3f0a7249abcd8da55936603e50aaaf2868e5f739a717cf20b3d";
+    sha256 = "fb6b8ab80ab97214b94ae9e462ba1c459b68a3af296ffc26317ebd3ff500e00b";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-netapp/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-netapp/default.nix
index ccb7c5592478..06f0ae30aff6 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-netapp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-netapp/default.nix
@@ -6,13 +6,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "3.0.0";
+  version = "4.0.0";
   pname = "azure-mgmt-netapp";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5a293118c5089c4ec81f676b76aa95c60408a3443a46131d22978ffb81fe4605";
+    sha256 = "7195e413a0764684cd42bec9e429c13c290db9ab5c465dbed586a6f6d0ec8a42";
     extension = "zip";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-rdbms/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-rdbms/default.nix
index 56e531421634..75e77c594008 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-rdbms/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-rdbms/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-rdbms";
-  version = "8.1.0";
+  version = "9.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "b30003a94c306533ebfb741b824dd1cc6c0a1810200926675e6b808bd0459d19";
+    sha256 = "36a508fe40f904723485586e9088092e6f65cdb82bc86efc42d615499c256829";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-sql/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-sql/default.nix
index 83cffa0a295c..a9e41e32799e 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-sql/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-sql/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-sql";
-  version = "2.1.0";
+  version = "3.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "5474387ec3417b0a277de2b42c6d1992256a6a9717ca1ada0e8dad01238b9919";
+    sha256 = "e2fe427ed8f6e368de7176696b38910a16b307dd9c2e1d2144d643a1c0f38e21";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-storage/default.nix b/nixpkgs/pkgs/development/python-modules/azure-storage/default.nix
index 8afb9b751ee9..3bc6a7318665 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-storage/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-storage/default.nix
@@ -5,7 +5,7 @@
 , azure-common
 , cryptography
 , futures ? null
-, dateutil
+, python-dateutil
 , requests
 , isPy3k
 }:
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     sha256 = "0pyasfxkin6j8j00qmky7d9cvpxgis4fi9bscgclj6yrpvf14qpv";
   };
 
-  propagatedBuildInputs = [ azure-common cryptography dateutil requests ]
+  propagatedBuildInputs = [ azure-common cryptography python-dateutil requests ]
                             ++ pkgs.lib.optionals (!isPy3k) [ futures ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/bashlex/default.nix b/nixpkgs/pkgs/development/python-modules/bashlex/default.nix
index 8e29eed2acfd..0ee12c414804 100644
--- a/nixpkgs/pkgs/development/python-modules/bashlex/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bashlex/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "bashlex";
-  version = "0.14";
+  version = "0.15";
 
   src = fetchFromGitHub {
     owner = "idank";
     repo = pname;
     rev = version;
-    sha256 = "070spmbf53y18miky5chgky4x5h8kp9czkp7dm173klv9pi2cn0k";
+    sha256 = "sha256-kKVorAIKlyC9vUzLOlaZ/JrG1kBBRIvLwBmHNj9nx84=";
   };
 
   checkInputs = [ nose ];
@@ -29,9 +29,11 @@ buildPythonPackage rec {
     ${python.interpreter} -m nose --with-doctest
   '';
 
+  pythonImportsCheck = [ "bashlex" ];
+
   meta = with lib; {
     description = "Python parser for bash";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     homepage = "https://github.com/idank/bashlex";
     maintainers = with maintainers; [ multun ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/beancount/default.nix b/nixpkgs/pkgs/development/python-modules/beancount/default.nix
index ec864e71498f..31f8a24d8b76 100644
--- a/nixpkgs/pkgs/development/python-modules/beancount/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/beancount/default.nix
@@ -5,7 +5,7 @@
 , beautifulsoup4
 , bottle
 , chardet
-, dateutil
+, python-dateutil
 , google-api-python-client
 , google-auth-oauthlib
 , lxml
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     beautifulsoup4
     bottle
     chardet
-    dateutil
+    python-dateutil
     google-api-python-client
     google-auth-oauthlib
     lxml
diff --git a/nixpkgs/pkgs/development/python-modules/bitarray/default.nix b/nixpkgs/pkgs/development/python-modules/bitarray/default.nix
index 985c5429f7e8..28ae80020986 100644
--- a/nixpkgs/pkgs/development/python-modules/bitarray/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bitarray/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "bitarray";
-  version = "2.1.3";
+  version = "2.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a24aff72a7f1b09571b5daf9dbfcffd98481be1fe085ae5ef662cf11452a97e0";
+    sha256 = "sha256-MbQNcWofBkLqnidBwpt1YpkHXbLh0evnUOPiwUafWJ0=";
   };
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/bitcoin-price-api/default.nix b/nixpkgs/pkgs/development/python-modules/bitcoin-price-api/default.nix
index 3e74c17f3be8..c9d317a81c3c 100644
--- a/nixpkgs/pkgs/development/python-modules/bitcoin-price-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bitcoin-price-api/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonPackage, fetchPypi
-, dateutil, requests }:
+, python-dateutil, requests }:
 
 buildPythonPackage rec {
   pname = "bitcoin-price-api";
@@ -10,7 +10,7 @@ buildPythonPackage rec {
     sha256 = "bc68076f9632aaa9a8009d916d67a709c1e045dd904cfc7a3e8be33960d32029";
   };
 
-  propagatedBuildInputs = [ dateutil requests ];
+  propagatedBuildInputs = [ python-dateutil requests ];
 
   # No tests in archive
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/bleak/default.nix b/nixpkgs/pkgs/development/python-modules/bleak/default.nix
index f229beb2b049..aecc904af503 100644
--- a/nixpkgs/pkgs/development/python-modules/bleak/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bleak/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "bleak";
-  version = "0.11.0";
+  version = "0.12.0";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1zs5lz3r17a2xn19i4na132iccyjsl9navj0d3v7gks7hlcad5kp";
+    sha256 = "sha256-pNHz24YjB6FB9ZLC3LoXS+2qzhforflNXzG6OWFqCvk=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/botocore/default.nix b/nixpkgs/pkgs/development/python-modules/botocore/default.nix
index 8a21eb455e0d..d05c2decf497 100644
--- a/nixpkgs/pkgs/development/python-modules/botocore/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/botocore/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, dateutil
+, python-dateutil
 , jmespath
 , docutils
 , ordereddict
@@ -21,7 +21,7 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    dateutil
+    python-dateutil
     jmespath
     docutils
     ordereddict
diff --git a/nixpkgs/pkgs/development/python-modules/bravado-core/default.nix b/nixpkgs/pkgs/development/python-modules/bravado-core/default.nix
index 8c65cca07b2e..24db42b7a74f 100644
--- a/nixpkgs/pkgs/development/python-modules/bravado-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bravado-core/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "bravado-core";
-  version = "5.16.1";
+  version = "5.17.0";
 
   src = fetchFromGitHub {
     owner = "Yelp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0r9gk5vkjbc407fjydms3ik3hnzajq54znyz58d8rm6pvqcvjjpl";
+    sha256 = "sha256-okQA4YJq0lyVJuDzD8mMRlOS/K3gf1qRUpw/5M0LlZE=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/bson/default.nix b/nixpkgs/pkgs/development/python-modules/bson/default.nix
new file mode 100644
index 000000000000..ca78b0806f0d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/bson/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, python-dateutil
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "bson";
+  version = "0.5.10";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "14355m3dchz446fl54ym78bn4wi20hddx1614f8rl4sin0m1nlfn";
+  };
+
+  propagatedBuildInputs = [
+    python-dateutil
+    six
+  ];
+
+  # 0.5.10 was not tagged, https://github.com/py-bson/bson/issues/108
+  doCheck = false;
+
+  pythonImportsCheck = [ "bson" ];
+
+  meta = with lib; {
+    description = "BSON codec for Python";
+    homepage = "https://github.com/py-bson/bson";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/bt-proximity/default.nix b/nixpkgs/pkgs/development/python-modules/bt-proximity/default.nix
index 584b7b126055..9de6dfbdefff 100644
--- a/nixpkgs/pkgs/development/python-modules/bt-proximity/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bt-proximity/default.nix
@@ -1,19 +1,22 @@
-{ lib, buildPythonPackage, fetchFromGitHub
-, pybluez }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pybluez
+}:
 
-buildPythonPackage {
+buildPythonPackage rec {
   pname = "bt-proximity";
-  version = "0.2";
+  version = "0.2.1";
 
-  # pypi only has a pre-compiled wheel and no sources
-  src = fetchFromGitHub {
-    owner  = "FrederikBolding";
-    repo   = "bluetooth-proximity";
-    rev    = "463bade8a9080b47f09bf4a47830b31c69c5dffd";
-    sha256 = "0anfh90cj3c2g7zqrjvq0d6dzpb4hjl6gk8zw0r349j2zw9i4h7y";
+  src = fetchPypi {
+    pname = "bt_proximity";
+    inherit version;
+    sha256 = "0xlif91vblbz065531yjf8nmlcahrl4q5pz52bc1jmzz7iv9hpgq";
   };
 
-  propagatedBuildInputs = [ pybluez ];
+  propagatedBuildInputs = [
+    pybluez
+  ];
 
   # there are no tests
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/bugsnag/default.nix b/nixpkgs/pkgs/development/python-modules/bugsnag/default.nix
index 65cfa74777a4..f23bc566bac5 100644
--- a/nixpkgs/pkgs/development/python-modules/bugsnag/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bugsnag/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "bugsnag";
-  version = "4.0.3";
+  version = "4.1.0";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0b70bc95e4e4f98b2eef7a3dadfdc50c1a40da7f50446adf43be05574a4b9f7c";
+    sha256 = "sha256-3L1ZzZ7eomzJLvtlGK7YOi81b4G/1azHML/iAvsnwcE=";
   };
 
   propagatedBuildInputs = [ six webob ];
diff --git a/nixpkgs/pkgs/development/python-modules/bugwarrior/default.nix b/nixpkgs/pkgs/development/python-modules/bugwarrior/default.nix
index c59d2196d207..a29e7458d4b5 100644
--- a/nixpkgs/pkgs/development/python-modules/bugwarrior/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bugwarrior/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonPackage, fetchPypi, pythonOlder, setuptools
-, twiggy, requests, offtrac, bugzilla, taskw, dateutil, pytz, keyring, six
+, twiggy, requests, offtrac, bugzilla, taskw, python-dateutil, pytz, keyring, six
 , jinja2, pycurl, dogpile_cache, lockfile, click, pyxdg, future, jira }:
 
 buildPythonPackage rec {
@@ -14,7 +14,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     setuptools
-    twiggy requests offtrac bugzilla taskw dateutil pytz keyring six
+    twiggy requests offtrac bugzilla taskw python-dateutil pytz keyring six
     jinja2 pycurl dogpile_cache lockfile click pyxdg future jira
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/buildbot/default.nix b/nixpkgs/pkgs/development/python-modules/buildbot/default.nix
index 043a1cd3e136..65919542057b 100644
--- a/nixpkgs/pkgs/development/python-modules/buildbot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/buildbot/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, buildPythonPackage, fetchPypi, makeWrapper, isPy3k,
   python, twisted, jinja2, zope_interface, sqlalchemy,
-  sqlalchemy_migrate, dateutil, txaio, autobahn, pyjwt, pyyaml, unidiff, treq,
+  sqlalchemy_migrate, python-dateutil, txaio, autobahn, pyjwt, pyyaml, unidiff, treq,
   txrequests, pypugjs, boto3, moto, mock, python-lz4, setuptoolsTrial,
   isort, pylint, flake8, buildbot-worker, buildbot-pkg, buildbot-plugins,
   parameterized, git, openssh, glibcLocales, ldap3, nixosTests }:
@@ -39,7 +39,7 @@ let
       zope_interface
       sqlalchemy
       sqlalchemy_migrate
-      dateutil
+      python-dateutil
       txaio
       autobahn
       pyjwt
diff --git a/nixpkgs/pkgs/development/python-modules/bytecode/default.nix b/nixpkgs/pkgs/development/python-modules/bytecode/default.nix
index 24ff14f62552..75d4f38b2c3d 100644
--- a/nixpkgs/pkgs/development/python-modules/bytecode/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bytecode/default.nix
@@ -2,23 +2,26 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
-, aenum
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "bytecode";
-  version = "0.11.0";
+  version = "0.12.0";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "vstinner";
     repo = pname;
     rev = version;
-    sha256 = "097k83zr0z71pha7bafzhs4ink174wk9ls2883bic274rihsnc5r";
+    sha256 = "sha256-CEfDoJ+JlnxLLVnSxv7bEN891tmwG9zAvtT8GNvp8JU=";
   };
 
-  disabled = pythonOlder "3.5";
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  propagatedBuildInputs = lib.optionals (pythonOlder "3.6") [ aenum ];
+  pythonImportsCheck = [ "bytecode" ];
 
   meta = with lib; {
     homepage = "https://github.com/vstinner/bytecode";
diff --git a/nixpkgs/pkgs/development/python-modules/cattrs/default.nix b/nixpkgs/pkgs/development/python-modules/cattrs/default.nix
index a48e29b827b7..7f51c89e3e4e 100644
--- a/nixpkgs/pkgs/development/python-modules/cattrs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cattrs/default.nix
@@ -1,27 +1,70 @@
 { lib
 , attrs
+, bson
 , buildPythonPackage
 , fetchFromGitHub
 , hypothesis
+, immutables
+, msgpack
+, poetry-core
 , pytestCheckHook
+, pyyaml
+, tomlkit
+, ujson
 }:
 
 buildPythonPackage rec {
   pname = "cattrs";
-  version = "1.1.2";
+  version = "1.7.0";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "Tinche";
     repo = pname;
     rev = "v${version}";
-    sha256 = "083d5mi6x7qcl26wlvwwn7gsp5chxlxkh4rp3a41w8cfwwr3h6l8";
+    sha256 = "sha256-7F4S4IeApbULXhkEZ0oab3Y7sk20Ag2fCYxsyi4WbWw=";
   };
 
-  propagatedBuildInputs = [ attrs ];
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    attrs
+  ];
 
   checkInputs = [
+    bson
     hypothesis
+    immutables
+    msgpack
     pytestCheckHook
+    pyyaml
+    tomlkit
+    ujson
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "-l --benchmark-sort=fullname --benchmark-warmup=true --benchmark-warmup-iterations=5  --benchmark-group-by=fullname" ""
+    substituteInPlace pyproject.toml \
+      --replace 'orjson = "^3.5.2"' ""
+    substituteInPlace tests/test_preconf.py \
+      --replace "from orjson import dumps as orjson_dumps" "" \
+      --replace "from orjson import loads as orjson_loads" ""
+  '';
+
+  disabledTestPaths = [
+    # Don't run benchmarking tests
+    "bench/test_attrs_collections.py"
+    "bench/test_attrs_nested.py"
+    "bench/test_attrs_primitives.py"
+    "bench/test_primitives.py"
+  ];
+
+  disabledTests = [
+    # orjson is not available as it requires Rust nightly features to compile its requirements
+    "test_orjson"
   ];
 
   pythonImportsCheck = [ "cattr" ];
diff --git a/nixpkgs/pkgs/development/python-modules/celery/default.nix b/nixpkgs/pkgs/development/python-modules/celery/default.nix
index 480f7acb3d1b..a48f8651298a 100644
--- a/nixpkgs/pkgs/development/python-modules/celery/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/celery/default.nix
@@ -12,9 +12,13 @@ buildPythonPackage rec {
     sha256 = "54436cd97b031bf2e08064223240e2a83d601d9414bcb1b702f94c6c33c29485";
   };
 
+  # click  is only used for the repl, in most cases this shouldn't impact
+  # downstream packages
   postPatch = ''
     substituteInPlace requirements/test.txt \
       --replace "moto==1.3.7" moto
+    substituteInPlace requirements/default.txt \
+      --replace "click>=7.0,<8.0" click
   '';
 
   propagatedBuildInputs = [ billiard click click-didyoumean click-plugins click-repl kombu pytz vine ];
diff --git a/nixpkgs/pkgs/development/python-modules/censys/default.nix b/nixpkgs/pkgs/development/python-modules/censys/default.nix
index 23c883a48a4c..b3d152efab16 100644
--- a/nixpkgs/pkgs/development/python-modules/censys/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/censys/default.nix
@@ -2,49 +2,62 @@
 , backoff
 , buildPythonPackage
 , fetchFromGitHub
+, parameterized
 , pytestCheckHook
+, pythonOlder
 , requests
-, pytestcov
 , requests-mock
-, parameterized
+, responses
+, rich
+, types-requests
 }:
 
 buildPythonPackage rec {
   pname = "censys";
-  version = "1.1.1";
+  version = "2.0.3";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "censys";
     repo = "censys-python";
-    rev = version;
-    sha256 = "06jwk0ps80fjzbsy24qn5bsggfpgn4ccjzjz65cdh0ap1mfvh5jf";
+    rev = "v${version}";
+    sha256 = "0ga5f6xv6rylfvalnl3cflr0w30r771gb05n5cjhxisb8an0qcb6";
   };
 
   propagatedBuildInputs = [
     backoff
     requests
+    rich
+    types-requests
   ];
 
   checkInputs = [
-    pytestcov
+    parameterized
     pytestCheckHook
     requests-mock
-    parameterized
+    responses
   ];
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "rich==10.3.0" "rich" \
+      --replace "types-requests==0.1.11" "types-requests"
+    substituteInPlace pytest.ini --replace \
+      " --cov -rs -p no:warnings" ""
+  '';
+
   # The tests want to write a configuration file
   preCheck = ''
     export HOME=$(mktemp -d)
     mkdir -p $HOME
-    '';
-  # All other tests require an API key
-  pytestFlagsArray = [ "tests/test_config.py" ];
+  '';
+
   pythonImportsCheck = [ "censys" ];
 
   meta = with lib; {
     description = "Python API wrapper for the Censys Search Engine (censys.io)";
     homepage = "https://github.com/censys/censys-python";
     license = with licenses; [ asl20 ];
-    maintainers = [ maintainers.fab ];
+    maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/certbot/default.nix b/nixpkgs/pkgs/development/python-modules/certbot/default.nix
index 0f6b5fa28594..7c324e646a4d 100644
--- a/nixpkgs/pkgs/development/python-modules/certbot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/certbot/default.nix
@@ -4,7 +4,7 @@
 , fetchFromGitHub
 , ConfigArgParse, acme, configobj, cryptography, distro, josepy, parsedatetime, pyRFC3339, pyopenssl, pytz, requests, six, zope_component, zope_interface
 , dialog, gnureadline
-, pytest_xdist, pytestCheckHook, dateutil
+, pytest_xdist, pytestCheckHook, python-dateutil
 }:
 
 buildPythonPackage rec {
@@ -40,7 +40,7 @@ buildPythonPackage rec {
   buildInputs = [ dialog gnureadline ];
 
   checkInputs = [
-    dateutil
+    python-dateutil
     pytestCheckHook
     pytest_xdist
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/certifi/python2.nix b/nixpkgs/pkgs/development/python-modules/certifi/python2.nix
new file mode 100644
index 000000000000..adc9594d69d0
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/certifi/python2.nix
@@ -0,0 +1,34 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, python3
+}:
+
+let
+  inherit (python3.pkgs) certifi;
+
+in buildPythonPackage rec {
+  pname = "certifi";
+  version = "2019.11.28";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "25b64c7da4cd7479594d035c08c2d809eb4aab3a26e5a990ea98cc450c320f1f";
+  };
+
+  postPatch = ''
+    cp ${certifi.src}/certifi/cacert.pem certifi/cacert.pem
+  '';
+
+  pythonImportsCheck = [ "certifi" ];
+
+  # no tests implemented
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = "https://certifi.io/";
+    description = "Python package for providing Mozilla's CA Bundle";
+    license = licenses.isc;
+    maintainers = with maintainers; [ ]; # NixOps team
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/claripy/default.nix b/nixpkgs/pkgs/development/python-modules/claripy/default.nix
index 03be293a5674..d8257f446d15 100644
--- a/nixpkgs/pkgs/development/python-modules/claripy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/claripy/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "claripy";
-  version = "9.0.8021";
+  version = "9.0.8761";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-btV6J5r4ogb4yC0G3lyXXkCTnx55nfBkWFH1wgiWtjs=";
+    sha256 = "sha256-MEG6J7FBjufFqvmfV+LTtgDJb8eZuUrDq4am/mnYCZI=";
   };
 
   # Use upstream z3 implementation
diff --git a/nixpkgs/pkgs/development/python-modules/cle/default.nix b/nixpkgs/pkgs/development/python-modules/cle/default.nix
index bb99365e33fa..87091509fb0d 100644
--- a/nixpkgs/pkgs/development/python-modules/cle/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cle/default.nix
@@ -15,7 +15,7 @@
 
 let
   # The binaries are following the argr projects release cycle
-  version = "9.0.8021";
+  version = "9.0.8761";
 
   # Binary files from https://github.com/angr/binaries (only used for testing and only here)
   binaries = fetchFromGitHub {
@@ -35,7 +35,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-pgOeNAzAq2x7MEnheV6txmXISFY/0sWw4cVzs51k4eM=";
+    sha256 = "sha256-cJpwtAX2cck/SoTfm8G93Imyyqn1B2Izkxk9O7WtRrk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/clize/default.nix b/nixpkgs/pkgs/development/python-modules/clize/default.nix
index 1418db69a393..0088acdb832c 100644
--- a/nixpkgs/pkgs/development/python-modules/clize/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/clize/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, dateutil
+, python-dateutil
 , sigtools
 , six
 , attrs
@@ -29,7 +29,7 @@ buildPythonPackage rec {
 
   checkInputs = [
     pytestCheckHook
-    dateutil
+    python-dateutil
     pygments
     repeated_test
     unittest2
diff --git a/nixpkgs/pkgs/development/python-modules/clldutils/default.nix b/nixpkgs/pkgs/development/python-modules/clldutils/default.nix
index 318354786b56..563ad08381c4 100644
--- a/nixpkgs/pkgs/development/python-modules/clldutils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/clldutils/default.nix
@@ -5,7 +5,7 @@
 , attrs
 , colorlog
 , csvw
-, dateutil
+, python-dateutil
 , tabulate
 , mock
 , postgresql
@@ -30,7 +30,7 @@ buildPythonPackage rec {
   '';
 
   propagatedBuildInputs = [
-    dateutil
+    python-dateutil
     tabulate
     colorlog
     attrs
diff --git a/nixpkgs/pkgs/development/python-modules/cloudsmith-api/default.nix b/nixpkgs/pkgs/development/python-modules/cloudsmith-api/default.nix
index 57316ae9d6ce..5c3b5f114f53 100644
--- a/nixpkgs/pkgs/development/python-modules/cloudsmith-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cloudsmith-api/default.nix
@@ -3,7 +3,7 @@
 , fetchPypi
 , certifi
 , six
-, dateutil
+, python-dateutil
 , urllib3
 }:
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     certifi
     six
-    dateutil
+    python-dateutil
     urllib3
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/clvm-rs/default.nix b/nixpkgs/pkgs/development/python-modules/clvm-rs/default.nix
index 4e5f69f8cd50..c18aab859fff 100644
--- a/nixpkgs/pkgs/development/python-modules/clvm-rs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/clvm-rs/default.nix
@@ -9,20 +9,20 @@
 
 buildPythonPackage rec {
   pname = "clvm_rs";
-  version = "0.1.7";
+  version = "0.1.8";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "Chia-Network";
     repo = "clvm_rs";
     rev = version;
-    sha256 = "sha256-ves23q1uQ3lexwK9l1xGRss05jYObJDi/aY9Yvp4aPU=";
+    sha256 = "sha256-YQfcVF+/eEgSLhq0EIFjMlVUT/4w2S5C1/rbkNpKszo=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-3kPzM2EX61ZvU6VKXY1OG/ic+9FU3Et4RuKp+3QYzSo=";
+    sha256 = "000vkyqlbq35fg6k4c05qh52iw8m4xbzyh94y038zr9p0yjlr019";
   };
 
   format = "pyproject";
diff --git a/nixpkgs/pkgs/development/python-modules/clvm/default.nix b/nixpkgs/pkgs/development/python-modules/clvm/default.nix
index 00bc14e280f4..2853bfe53182 100644
--- a/nixpkgs/pkgs/development/python-modules/clvm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/clvm/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "clvm";
-  version = "0.9.6";
+  version = "0.9.7";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "Chia-Network";
     repo = "clvm";
     rev = version;
-    sha256 = "sha256-XBQEilDFhx0kT9bEMD4jX+SDk3cAC1BUCWhbtpgrLcA=";
+    sha256 = "sha256-kTmuiy0IbTGjDokZjxp3p8lr/0uVxG/0pRN2hETLBtA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/coloredlogs/default.nix b/nixpkgs/pkgs/development/python-modules/coloredlogs/default.nix
index 8cdd714bf105..0c14ee7b4476 100644
--- a/nixpkgs/pkgs/development/python-modules/coloredlogs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/coloredlogs/default.nix
@@ -5,14 +5,14 @@
 , humanfriendly
 , verboselogs
 , capturer
-, pytest
+, pytestCheckHook
 , mock
 , util-linux
 }:
 
 buildPythonPackage rec {
   pname = "coloredlogs";
-  version = "15.0";
+  version = "15.0.1";
 
   src = fetchFromGitHub {
     owner = "xolox";
@@ -21,18 +21,33 @@ buildPythonPackage rec {
     sha256 = "sha256-C1Eo+XrrL3bwhT49KyOE6xjbAHJxn9Qy4s1RR5ERVtA=";
   };
 
+  propagatedBuildInputs = [
+    humanfriendly
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    mock
+    util-linux
+    verboselogs
+    capturer
+  ];
+
   # capturer is broken on darwin / py38, so we skip the test until a fix for
   # https://github.com/xolox/python-capturer/issues/10 is released.
   doCheck = !stdenv.isDarwin;
-  checkPhase = ''
-    PATH=$PATH:$out/bin pytest . -k "not test_plain_text_output_format \
-                                     and not test_auto_install"
+
+  preCheck = ''
+    # Required for the CLI test
+    PATH=$PATH:$out/bin
   '';
-  checkInputs = [ pytest mock util-linux verboselogs capturer ];
 
-  pythonImportsCheck = [ "coloredlogs" ];
+  disabledTests = [
+    "test_plain_text_output_format"
+    "test_auto_install"
+  ];
 
-  propagatedBuildInputs = [ humanfriendly ];
+  pythonImportsCheck = [ "coloredlogs" ];
 
   meta = with lib; {
     description = "Colored stream handler for Python's logging module";
diff --git a/nixpkgs/pkgs/development/python-modules/confuse/default.nix b/nixpkgs/pkgs/development/python-modules/confuse/default.nix
index 8f1c1754056a..2b350be00460 100644
--- a/nixpkgs/pkgs/development/python-modules/confuse/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/confuse/default.nix
@@ -1,25 +1,45 @@
 { buildPythonPackage
 , enum34
-, fetchPypi
+, fetchFromGitHub
+, flit-core
 , isPy27
 , lib
 , pathlib
 , pyyaml
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "confuse";
-  version = "1.4.0";
+  version = "1.5.0";
+  format = "flit";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-kvwEUcbiwnMqw2PQ9Z1+pgir3b7QYt2o6Y6ajJhs5GQ=";
+  src = fetchFromGitHub {
+    owner = "beetbox";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1kvilxhjifvz6ra64jadf9jiwphrah5rcb9ryq0v7w1dywgn4qp7";
   };
 
-  propagatedBuildInputs = [ pyyaml ] ++ lib.optionals isPy27 [ enum34 pathlib ] ;
+  nativeBuildInputs = [
+    flit-core
+  ];
+
+  propagatedBuildInputs = [
+    pyyaml
+  ] ++ lib.optionals isPy27 [
+    enum34
+    pathlib
+  ] ;
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "confuse" ];
 
   meta = with lib; {
-    description = "Confuse is a configuration library for Python that uses YAML.";
+    description = "Python configuration library for Python that uses YAML";
     homepage = "https://github.com/beetbox/confuse";
     license = licenses.mit;
     maintainers = with maintainers; [ lovesegfault ];
diff --git a/nixpkgs/pkgs/development/python-modules/crc32c/default.nix b/nixpkgs/pkgs/development/python-modules/crc32c/default.nix
index dd2c9059ed5f..f4a85fba599f 100644
--- a/nixpkgs/pkgs/development/python-modules/crc32c/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/crc32c/default.nix
@@ -1,14 +1,14 @@
 { lib, buildPythonPackage, fetchFromGitHub }:
 
 buildPythonPackage rec {
-  version = "2.0.1";
+  version = "2.2.post0";
   pname = "crc32c";
 
   src = fetchFromGitHub {
     owner = "ICRAR";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0vyac7pchh083h5qdjwhhacfq77frkrq1bjzsn51qv1vwcdrpnrf";
+    sha256 = "sha256-0FgNOVpgJTxRALuufZ7Dt1TwuX+zqw35yCq8kmq4RTc=";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/development/python-modules/croniter/default.nix b/nixpkgs/pkgs/development/python-modules/croniter/default.nix
index a93f8e78ce6b..3628609259c1 100644
--- a/nixpkgs/pkgs/development/python-modules/croniter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/croniter/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "croniter";
-  version = "1.0.13";
+  version = "1.0.15";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-V/Nt9PWhwxu/ULv/o1UWEsGfYVarHoji5CNCzLufm5o=";
+    sha256 = "06c2smrjskd9di8lcpymcxmygncxr14932qjhslc37yyaafzq3d7";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/csvw/default.nix b/nixpkgs/pkgs/development/python-modules/csvw/default.nix
index 27f3f291113c..67342d9eccc8 100644
--- a/nixpkgs/pkgs/development/python-modules/csvw/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/csvw/default.nix
@@ -4,7 +4,7 @@
 , pythonOlder
 , attrs
 , isodate
-, dateutil
+, python-dateutil
 , rfc3986
 , uritemplate
 , mock
@@ -31,7 +31,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     attrs
     isodate
-    dateutil
+    python-dateutil
     rfc3986
     uritemplate
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/curio/default.nix b/nixpkgs/pkgs/development/python-modules/curio/default.nix
index fb1eceda7f2b..1a0f4e2d9fe7 100644
--- a/nixpkgs/pkgs/development/python-modules/curio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/curio/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, fetchpatch
 , isPy3k
 , pytestCheckHook
 , sphinx
@@ -10,31 +9,19 @@
 
 buildPythonPackage rec {
   pname = "curio";
-  version = "1.4";
+  version = "1.5";
+  disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "57edce81c837f3c2cf42fbb346dee26e537d1659e6605269fb13bd179e068744";
+    sha256 = "sha256-rwghLlkLt9qOTMOcQgEnEUlNwg1iLxYhVbopbMLjvBA=";
   };
 
-  patches = [
-    # Fix the flaky test due to slow moving time on Apple Silicon chips.
-    # Remove when https://github.com/dabeaz/curio/pull/339 is in the next release.
-    (fetchpatch {
-      url = "https://github.com/dabeaz/curio/commit/132376724bbfaa0a52d3d63d0791aa4ac1eb6f5f.patch";
-      sha256 = "sha256-AxO0xRcR9l9/NKEJFwyZIoYcyZxpqOhpdNaeaYokVb4=";
-    })
-    # Same as above
-    (fetchpatch {
-      url = "https://github.com/dabeaz/curio/commit/8ac2f12a2cdacbc750b01fc7459cee8879bc1ee3.patch";
-      sha256 = "sha256-2Si3fuDLrI09QuzJd1TrE0QY02G9e9m+1eHFTB/MrWU=";
-    })
+  checkInputs = [
+    pytestCheckHook
+    sphinx
   ];
 
-  disabled = !isPy3k;
-
-  checkInputs = [ pytestCheckHook sphinx ];
-
   __darwinAllowLocalNetworking = true;
 
   disabledTests = [
@@ -46,9 +33,11 @@ buildPythonPackage rec {
      "test_unix_ssl_server" # socket bind error on hydra when built with other packages
    ];
 
+  pythonImportsCheck = [ "curio" ];
+
   meta = with lib; {
     homepage = "https://github.com/dabeaz/curio";
-    description = "Library for performing concurrent I/O with coroutines in Python 3";
+    description = "Library for performing concurrent I/O with coroutines in Python";
     license = licenses.bsd3;
     maintainers = [ maintainers.marsam ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/cvxpy/default.nix b/nixpkgs/pkgs/development/python-modules/cvxpy/default.nix
index 359ee96f60a9..9068814ffd79 100644
--- a/nixpkgs/pkgs/development/python-modules/cvxpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cvxpy/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "cvxpy";
-  version = "1.1.12";
+  version = "1.1.13";
   format = "pyproject";
 
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-tJnr+uT8ZF6VI2IVc//LHFtoVKG1wM4dZqippFhgWAc=";
+    sha256 = "012avhf0a8n9xyy4g3xcr5z8z2a3m6rnqic6gfs9fq6p9bkq3ix9";
   };
 
   propagatedBuildInputs = [
@@ -42,8 +42,10 @@ buildPythonPackage rec {
   '';
 
   checkInputs = [ pytestCheckHook ];
+
   pytestFlagsArray = [ "./cvxpy" ];
-  # Disable the slowest benchmarking tests, cuts test time in half
+
+   # Disable the slowest benchmarking tests, cuts test time in half
   disabledTests = [
     "test_tv_inpainting"
     "test_diffcp_sdp_example"
@@ -51,6 +53,8 @@ buildPythonPackage rec {
     "test_ecos_bb_mi_lp_2" # https://github.com/cvxgrp/cvxpy/issues/1241#issuecomment-780912155
   ];
 
+  pythonImportsCheck = [ "cvxpy" ];
+
   meta = with lib; {
     description = "A domain-specific language for modeling convex optimization problems in Python";
     homepage = "https://www.cvxpy.org/";
diff --git a/nixpkgs/pkgs/development/python-modules/daphne/default.nix b/nixpkgs/pkgs/development/python-modules/daphne/default.nix
index fc48f9150124..f6d7fcac62a5 100644
--- a/nixpkgs/pkgs/development/python-modules/daphne/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/daphne/default.nix
@@ -4,7 +4,7 @@
 }:
 buildPythonPackage rec {
   pname = "daphne";
-  version = "3.0.1";
+  version = "3.0.2";
 
   disabled = !isPy3k;
 
@@ -12,7 +12,7 @@ buildPythonPackage rec {
     owner = "django";
     repo = pname;
     rev = version;
-    sha256 = "1bkxhzvaqwz760c11nhaiwvsq1d1csmk5dz2a1j1ynypjprhvhsk";
+    sha256 = "sha256-KWkMV4L7bA2Eo/u4GGif6lmDNrZAzvYyDiyzyWt9LeI=";
   };
 
   nativeBuildInputs = [ pytestrunner ];
diff --git a/nixpkgs/pkgs/development/python-modules/dask/default.nix b/nixpkgs/pkgs/development/python-modules/dask/default.nix
index b51ac1701a2e..208856490b86 100644
--- a/nixpkgs/pkgs/development/python-modules/dask/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dask/default.nix
@@ -20,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "dask";
-  version = "2021.06.1";
+  version = "2021.06.2";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "dask";
     repo = pname;
     rev = version;
-    sha256 = "sha256-wrUqLSmlKhd0NSjWBwbow8aX53ZBTgl2n4lEmvxC3bs=";
+    sha256 = "sha256-qvfjdijzlqaJQrDztRAVr5PudTaVd3WOTBid2ElZQgg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/datadog/default.nix b/nixpkgs/pkgs/development/python-modules/datadog/default.nix
index fbe3316e0100..a24f726e346d 100644
--- a/nixpkgs/pkgs/development/python-modules/datadog/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/datadog/default.nix
@@ -17,11 +17,11 @@
 
 buildPythonPackage rec {
   pname = "datadog";
-  version = "0.41.0";
+  version = "0.42.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-PeGkO4qNX2sZ0WLsG0gtxasmNsWc9l5gWJcCMEUQpok=";
+    sha256 = "sha256-em+sF6fQnxiDq5pFzk/3oWqhpes8xMbN2sf4xT59Hps=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/datasets/default.nix b/nixpkgs/pkgs/development/python-modules/datasets/default.nix
index cc06297c4ea0..0141b79f5d64 100644
--- a/nixpkgs/pkgs/development/python-modules/datasets/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/datasets/default.nix
@@ -16,13 +16,13 @@
 
 buildPythonPackage rec {
   pname = "datasets";
-  version = "1.4.1";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "huggingface";
     repo = pname;
     rev = version;
-    hash = "sha256-is8TS84varARWyfeDTbQH0pcYFTk0PcEyK183emB4GE=";
+    sha256 = "sha256-is8TS84varARWyfeDTbQH0pcYFTk0PcEyK183emB4GE=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/datashape/default.nix b/nixpkgs/pkgs/development/python-modules/datashape/default.nix
index 6f11ae62c3e9..50bde25cf444 100644
--- a/nixpkgs/pkgs/development/python-modules/datashape/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/datashape/default.nix
@@ -5,7 +5,7 @@
 , mock
 , numpy
 , multipledispatch
-, dateutil
+, python-dateutil
 }:
 
 let
@@ -29,7 +29,7 @@ in buildPythonPackage rec {
   };
 
   checkInputs = [ pytest mock ];
-  propagatedBuildInputs = [ numpy multipledispatch dateutil ];
+  propagatedBuildInputs = [ numpy multipledispatch python-dateutil ];
 
   # Disable several tests
   # https://github.com/blaze/datashape/issues/232
diff --git a/nixpkgs/pkgs/development/python-modules/dateparser/0.x.nix b/nixpkgs/pkgs/development/python-modules/dateparser/0.x.nix
index 49e2d1f2796e..2aab262e64d2 100644
--- a/nixpkgs/pkgs/development/python-modules/dateparser/0.x.nix
+++ b/nixpkgs/pkgs/development/python-modules/dateparser/0.x.nix
@@ -4,7 +4,7 @@
 , mock
 , parameterized
 , pytestCheckHook
-, dateutil
+, python-dateutil
 , pytz
 , regex
 , tzlocal
@@ -39,7 +39,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     # install_requires
-    dateutil pytz regex tzlocal
+    python-dateutil pytz regex tzlocal
     # extra_requires
     convertdate umalqurra jdatetime ruamel_yaml
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/dateparser/default.nix b/nixpkgs/pkgs/development/python-modules/dateparser/default.nix
index 21dcffc4a841..6cbd1df32a57 100644
--- a/nixpkgs/pkgs/development/python-modules/dateparser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dateparser/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , isPy3k
 , fetchFromGitHub
-, dateutil
+, python-dateutil
 , pytz
 , regex
 , tzlocal
@@ -29,7 +29,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     # install_requires
-    dateutil pytz regex tzlocal
+    python-dateutil pytz regex tzlocal
     # extra_requires
     hijri-converter convertdate
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/datrie/default.nix b/nixpkgs/pkgs/development/python-modules/datrie/default.nix
index d8bbc96fcc48..a74e53a939e1 100644
--- a/nixpkgs/pkgs/development/python-modules/datrie/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/datrie/default.nix
@@ -1,36 +1,39 @@
-{ lib, buildPythonPackage, fetchPypi, fetchpatch
-, cython, pytest, pytestrunner, hypothesis }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, cython
+, pytestCheckHook
+, hypothesis
+}:
 
 buildPythonPackage rec {
   pname = "datrie";
-  version = "0.7.1";
+  version = "0.8.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "08r0if7dry2q7p34gf7ffyrlnf4bdvnprxgydlfxgfnvq8f3f4bs";
+    sha256 = "sha256-UlsI9jjVz2EV32zNgY5aASmM0jCy2skcj/LmSZ0Ydl0=";
   };
 
-  patches = [
-    # fix tests against recent hypothesis
-    (fetchpatch {
-      url = "https://github.com/pytries/datrie/commit/9b24b4c02783cdb703ac3f6c6d7d881db93166e0.diff";
-      sha256 = "1ql7jcf57q3x3fcbddl26y9kmnbnj2dv6ga8mwq94l4a3213j2iy";
-    })
+  nativeBuildInputs = [
+    cython
   ];
 
-  nativeBuildInputs = [ cython ];
-  buildInputs = [ pytest pytestrunner hypothesis ];
+  buildInputs = [
+    hypothesis
+    pytestCheckHook
+  ];
 
-  # recompile pxd and pyx for python37
-  # https://github.com/pytries/datrie/issues/52
-  preBuild = ''
-    ./update_c.sh
+  postPatch = ''
+    substituteInPlace setup.py --replace '"pytest-runner", ' ""
   '';
 
+  pythonImportsCheck = [ "datrie" ];
+
   meta = with lib; {
     description = "Super-fast, efficiently stored Trie for Python";
     homepage = "https://github.com/kmike/datrie";
-    license = licenses.lgpl2;
+    license = licenses.lgpl21Plus;
     maintainers = with maintainers; [ lewo ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/dbutils/default.nix b/nixpkgs/pkgs/development/python-modules/dbutils/default.nix
index 848e5038af8d..294456cc85bd 100644
--- a/nixpkgs/pkgs/development/python-modules/dbutils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dbutils/default.nix
@@ -1,13 +1,13 @@
 { lib, buildPythonPackage, fetchPypi, pytestCheckHook }:
 
 buildPythonPackage rec {
-  version = "2.0";
+  version = "2.0.1";
   pname = "dbutils";
 
   src = fetchPypi {
     inherit version;
     pname = "DBUtils";
-    sha256 = "131ifm2c2a7bipij597i8fvjka0dk2qv1xr2ghcvbc30jlkvag2g";
+    sha256 = "sha256-Vw590TbBMRb+74vKGGCeP2a4ZoqcPV8hCdh0TERE2GE=";
   };
 
   checkInputs = [ pytestCheckHook ];
diff --git a/nixpkgs/pkgs/development/python-modules/debian-inspector/default.nix b/nixpkgs/pkgs/development/python-modules/debian-inspector/default.nix
index 8064a35ffee0..e19694bcf9c8 100644
--- a/nixpkgs/pkgs/development/python-modules/debian-inspector/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/debian-inspector/default.nix
@@ -2,30 +2,25 @@
 , buildPythonPackage
 , fetchPypi
 , pythonAtLeast
-, fetchpatch
 , chardet
 , attrs
 , commoncode
 , pytestCheckHook
+, setuptools-scm
 }:
+
 buildPythonPackage rec {
   pname = "debian-inspector";
-  version = "0.9.10";
+  version = "21.5.25";
 
   src = fetchPypi {
     pname = "debian_inspector";
     inherit version;
-    sha256 = "fd29a02b925a4de0d7bb00c29bb05f19715a304bc10ef7b9ad06a93893dc3a8c";
+    sha256 = "1d3xaqw00kav85nk29qm2yqb73bkyqf185fs1q0vgd7bnap9wqaw";
   };
 
-  patches = lib.optionals (pythonAtLeast "3.9") [
-    # https://github.com/nexB/debian-inspector/pull/15
-    # fixes tests on Python 3.9
-    (fetchpatch {
-      name = "drop-encoding-argument.patch";
-      url = "https://github.com/nexB/debian-inspector/commit/ff991cdb788671ca9b81f1602b70a439248fd1aa.patch";
-      sha256 = "bm3k7vb9+Rm6+YicQEeDOOUVut8xpDaNavG+t2oLZkI=";
-    })
+  nativeBuildInputs = [
+    setuptools-scm
   ];
 
   dontConfigure = true;
diff --git a/nixpkgs/pkgs/development/python-modules/deezer-python/default.nix b/nixpkgs/pkgs/development/python-modules/deezer-python/default.nix
index cd24ae0fd3e9..926dadd031cf 100644
--- a/nixpkgs/pkgs/development/python-modules/deezer-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/deezer-python/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "deezer-python";
-  version = "2.2.4";
+  version = "2.3.0";
   disabled = pythonOlder "3.6";
   format = "pyproject";
 
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "browniebroke";
     repo = pname;
     rev = "v${version}";
-    sha256 = "11gqmyf350256gbppak2qv20lg2bmszand4kmks93wphq5yp2iiy";
+    sha256 = "sha256-pRYC0kJHJ5SKgDdGS1KkQEbv+DkF9oPw/A1GnB0AwfQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/dependency-injector/default.nix b/nixpkgs/pkgs/development/python-modules/dependency-injector/default.nix
index 8958566070ed..d220bd51ac1c 100644
--- a/nixpkgs/pkgs/development/python-modules/dependency-injector/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dependency-injector/default.nix
@@ -16,13 +16,13 @@
 
 buildPythonPackage rec {
   pname = "dependency-injector";
-  version = "4.32.2";
+  version = "4.34.0";
 
   src = fetchFromGitHub {
     owner = "ets-labs";
     repo = "python-dependency-injector";
     rev = version;
-    sha256 = "1gkkka0hl2hl4axf3gfm58mzv92bg0frr5jikw8g32hd4q4aagcg";
+    sha256 = "sha256-MI0+saRe4Zi77otVPGYxrX9z8Jc5K1A1sCxHBS0uta0=";
   };
 
   propagatedBuildInputs = [
@@ -42,6 +42,11 @@ buildPythonPackage rec {
     pyyaml
   ];
 
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "six>=1.7.0,<=1.15.0" "six"
+  '';
+
   disabledTestPaths = [
     # There is no unique identifier to disable the one failing test
     "tests/unit/ext/test_aiohttp_py35.py"
diff --git a/nixpkgs/pkgs/development/python-modules/devolo-home-control-api/default.nix b/nixpkgs/pkgs/development/python-modules/devolo-home-control-api/default.nix
index 44a0165d6fd8..751ebaae292c 100644
--- a/nixpkgs/pkgs/development/python-modules/devolo-home-control-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/devolo-home-control-api/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "devolo-home-control-api";
-  version = "0.17.3";
+  version = "0.17.4";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "2Fake";
     repo = "devolo_home_control_api";
     rev = "v${version}";
-    sha256 = "1h7admqb1l28sxwhhkkhw0sfzgpn8zpczvmi3h28f68csflkv379";
+    sha256 = "sha256-N/48Q2IEL194vCzrPPuy+mRNejXfkoXy2t2oe0Y6ug4=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/dftfit/default.nix b/nixpkgs/pkgs/development/python-modules/dftfit/default.nix
deleted file mode 100644
index 778b8c3d9843..000000000000
--- a/nixpkgs/pkgs/development/python-modules/dftfit/default.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ lib
-, fetchPypi
-, buildPythonPackage
-, pymatgen
-, marshmallow
-, pyyaml
-, pygmo
-, pandas
-, scipy
-, numpy
-, scikit-learn
-, lammps-cython
-, pymatgen-lammps
-, pytestrunner
-, isPy3k
-}:
-
-buildPythonPackage rec {
-  pname = "dftfit";
-  version = "0.5.1";
-  disabled = (!isPy3k);
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "4dcbde48948835dcf2d49d6628c9df5747a8ec505d517e374b8d6c7fe95892df";
-  };
-
-  buildInputs = [ pytestrunner ];
-  propagatedBuildInputs = [
-    pymatgen
-    marshmallow
-    pyyaml
-    pygmo
-    pandas
-    scipy
-    numpy
-    scikit-learn
-    lammps-cython
-    pymatgen-lammps
-  ];
-
-  # tests require git lfs download. and is quite large so skip tests
-  doCheck = false;
-  pythonImportsCheck = [ "dftfit" ];
-
-  meta = {
-    description = "Ab-Initio Molecular Dynamics Potential Development";
-    homepage = "https://gitlab.com/costrouc/dftfit";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ costrouc ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/dicom2nifti/default.nix b/nixpkgs/pkgs/development/python-modules/dicom2nifti/default.nix
index a9c2e4e82373..dd43902949ab 100644
--- a/nixpkgs/pkgs/development/python-modules/dicom2nifti/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dicom2nifti/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "dicom2nifti";
-  version = "2.2.12";
+  version = "2.3.0";
   disabled = isPy27;
 
   # no tests in PyPI dist
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "icometrix";
     repo = pname;
     rev = version;
-    sha256 = "0ddzaw0yasyi2wsh7a6r73cdcmdfbb0nh0k0n4yxp9vnkw1ag5z4";
+    sha256 = "sha256-QSu9CGXFjDpI25Cy6QSbrwiQ2bwsVezCUxSovRLs6AI=";
   };
 
   propagatedBuildInputs = [ nibabel numpy pydicom scipy setuptools ];
diff --git a/nixpkgs/pkgs/development/python-modules/diff-cover/default.nix b/nixpkgs/pkgs/development/python-modules/diff-cover/default.nix
new file mode 100644
index 000000000000..7a9e1205979a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/diff-cover/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, buildPythonPackage
+, chardet
+, fetchPypi
+, inflect
+, jinja2
+, jinja2_pluralize
+, pycodestyle
+, pyflakes
+, pygments
+, pylint
+, pytest-mock
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "diff-cover";
+  version = "5.4.0";
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    pname = "diff_cover";
+    inherit version;
+    sha256 = "sha256-4iQ9/QcXh/lW8HE6wFZWc6Y57xhAEWu2TQnIUZJNAMs=";
+  };
+
+  propagatedBuildInputs = [
+    chardet
+    inflect
+    jinja2
+    jinja2_pluralize
+    pygments
+  ];
+
+  checkInputs = [
+    pycodestyle
+    pyflakes
+    pylint
+    pytest-mock
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    "added_file_pylint_console"
+    "file_does_not_exist"
+  ];
+
+  pythonImportsCheck = [ "diff_cover" ];
+
+  meta = with lib; {
+    description = "Automatically find diff lines that need test coverage";
+    homepage = "https://github.com/Bachmann1234/diff-cover";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ dzabraev ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/diff_cover/default.nix b/nixpkgs/pkgs/development/python-modules/diff_cover/default.nix
deleted file mode 100644
index 7eeb378ff417..000000000000
--- a/nixpkgs/pkgs/development/python-modules/diff_cover/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ lib, buildPythonPackage, fetchPypi
-, chardet
-, inflect
-, jinja2
-, jinja2_pluralize
-, pygments
-, six
-# test dependencies
-, coverage
-, mock
-, nose
-, pycodestyle
-, pyflakes
-, pylint
-, pytest
-}:
-
-buildPythonPackage rec {
-  pname = "diff_cover";
-  version = "5.2.0";
-
-  preCheck = ''
-    export LC_ALL=en_US.UTF-8;
-  '';
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "a1cd54232d2e48bd4c1eabc96cfe4a8727a9a92fd2556b52ff8f65bb8adf8768";
-  };
-
-  propagatedBuildInputs = [ chardet jinja2 jinja2_pluralize pygments six inflect ];
-
-  checkInputs = [ mock coverage pytest nose pylint pyflakes pycodestyle ];
-
-  # ignore tests which try to write files
-  checkPhase = ''
-    pytest -k 'not added_file_pylint_console and not file_does_not_exist'
-  '';
-
-  meta = with lib; {
-    description = "Automatically find diff lines that need test coverage";
-    homepage = "https://github.com/Bachmann1234/diff-cover";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ dzabraev ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/diofant/default.nix b/nixpkgs/pkgs/development/python-modules/diofant/default.nix
index f99e17137de9..5a2e6e60b830 100644
--- a/nixpkgs/pkgs/development/python-modules/diofant/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/diofant/default.nix
@@ -1,39 +1,42 @@
 { lib
-, isPy3k
 , buildPythonPackage
 , fetchPypi
-, pytestrunner
-, setuptools-scm
+, gmpy2
 , isort
 , mpmath
-, strategies
+, numpy
+, pythonOlder
+, scipy
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "diofant";
-  version = "0.10.0";
+  version = "0.12.0";
+  disabled = pythonOlder "3.9";
 
   src = fetchPypi {
     inherit version;
     pname = "Diofant";
-    sha256 = "0qjg0mmz2cqxryr610mppx3virf1gslzrsk24304502588z53v8w";
+    sha256 = "sha256-G0CTSoDSduiWxlrk5XjnX5ldNZ9f7yxaJeUPO3ezJgo=";
   };
 
   nativeBuildInputs = [
     isort
-    pytestrunner
     setuptools-scm
   ];
 
   propagatedBuildInputs = [
+    gmpy2
     mpmath
-    strategies
+    numpy
+    scipy
   ];
 
   # tests take ~1h
   doCheck = false;
 
-  disabled = !isPy3k;
+  pythonImportsCheck = [ "diofant" ];
 
   meta = with lib; {
     description = "A Python CAS library";
diff --git a/nixpkgs/pkgs/development/python-modules/discogs-client/default.nix b/nixpkgs/pkgs/development/python-modules/discogs-client/default.nix
new file mode 100644
index 000000000000..e47922f9577a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/discogs-client/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+, oauthlib
+, python-dateutil
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "discogs-client";
+  version = "2.3.12";
+
+
+  src = fetchFromGitHub {
+    owner = "joalla";
+    repo = "discogs_client";
+    rev = "v${version}";
+    sha256 = "0y553x8rkgmqqg980n62pwdxbp75xalkhlb6k5g0cms42ggy5fsc";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    oauthlib
+    python-dateutil
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "discogs_client" ];
+
+  meta = with lib; {
+    description = "Unofficial Python API client for Discogs";
+    homepage = "https://github.com/joalla/discogs_client";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/discogs_client/default.nix b/nixpkgs/pkgs/development/python-modules/discogs_client/default.nix
deleted file mode 100644
index e522ac4b6c9d..000000000000
--- a/nixpkgs/pkgs/development/python-modules/discogs_client/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ lib, buildPythonPackage, fetchPypi, requests, oauthlib }:
-
-buildPythonPackage rec {
-  pname = "discogs-client";
-  version = "2.3.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "cc979fcbb5283f74d388c7111c8ed6bef920b01614a014d6b1c5d6fbb554bfc3";
-  };
-
-  propagatedBuildInputs = [ requests oauthlib ];
-
-  meta = with lib; {
-    description = "Official Python API client for Discogs";
-    license = licenses.bsd2;
-    homepage = "https://github.com/discogs/discogs_client";
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/distributed/default.nix b/nixpkgs/pkgs/development/python-modules/distributed/default.nix
index 605e905d4ab4..ce0cf13e9a92 100644
--- a/nixpkgs/pkgs/development/python-modules/distributed/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/distributed/default.nix
@@ -6,7 +6,6 @@
 , dask
 , msgpack
 , psutil
-, six
 , sortedcontainers
 , tblib
 , toolz
@@ -20,27 +19,39 @@
 
 buildPythonPackage rec {
   pname = "distributed";
-  version = "2021.6.1";
+  version = "2021.6.2";
   disabled = pythonOlder "3.6";
 
   # get full repository need conftest.py to run tests
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Z79h/WAio5diX2myChx8HPAWe2RB4Ajw7Ybch4XUYFc=";
+    sha256 = "sha256-19ESqGqwSdzvo7If0brqQhKiwD0iwkvVWtONIaf10Ug=";
   };
 
   propagatedBuildInputs = [
-      click cloudpickle dask msgpack psutil six
-      sortedcontainers tblib toolz tornado zict pyyaml mpi4py bokeh
+    bokeh
+    click
+    cloudpickle
+    dask
+    mpi4py
+    msgpack
+    psutil
+    pyyaml
+    sortedcontainers
+    tblib
+    toolz
+    tornado
+    zict
   ];
 
   # when tested random tests would fail and not repeatably
   doCheck = false;
+
   pythonImportsCheck = [ "distributed" ];
 
   meta = with lib; {
-    description = "Distributed computation in Python.";
-    homepage = "https://distributed.readthedocs.io/en/latest/";
+    description = "Distributed computation in Python";
+    homepage = "https://distributed.readthedocs.io/";
     license = licenses.bsd3;
     platforms = platforms.x86; # fails on aarch64
     maintainers = with maintainers; [ teh costrouc ];
diff --git a/nixpkgs/pkgs/development/python-modules/django-haystack/default.nix b/nixpkgs/pkgs/development/python-modules/django-haystack/default.nix
index 2c678e672a3e..14e66a159c18 100644
--- a/nixpkgs/pkgs/development/python-modules/django-haystack/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-haystack/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonPackage, fetchPypi
-, setuptools, setuptools-scm, django, dateutil, whoosh, pysolr
+, setuptools, setuptools-scm, django, python-dateutil, whoosh, pysolr
 , coverage, mock, nose, geopy, requests }:
 
 buildPythonPackage rec {
@@ -11,7 +11,7 @@ buildPythonPackage rec {
     sha256 = "d490f920afa85471dd1fa5000bc8eff4b704daacbe09aee1a64e75cbc426f3be";
   };
 
-  checkInputs = [ pysolr whoosh dateutil geopy coverage nose mock coverage requests ];
+  checkInputs = [ pysolr whoosh python-dateutil geopy coverage nose mock coverage requests ];
   propagatedBuildInputs = [ django setuptools ];
   nativeBuildInputs = [ setuptools-scm ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/django/3.nix b/nixpkgs/pkgs/development/python-modules/django/3.nix
index ae6187e207e9..7ee41a962c73 100644
--- a/nixpkgs/pkgs/development/python-modules/django/3.nix
+++ b/nixpkgs/pkgs/development/python-modules/django/3.nix
@@ -13,13 +13,13 @@
 
 buildPythonPackage rec {
   pname = "Django";
-  version = "3.2.4";
+  version = "3.2.5";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "15pjwyvrx4n8gi8n51b14wp54bg4jqapr25p52597zn6ikdxijb6";
+    sha256 = "1kam3301jl53vm0mhflwwsqy5d7kb5dksmjanlaj7v7xakm5z81x";
   };
 
   patches = lib.optional withGdal
diff --git a/nixpkgs/pkgs/development/python-modules/django_silk/default.nix b/nixpkgs/pkgs/development/python-modules/django_silk/default.nix
index b1d4eaec5c9a..3af74be85b27 100644
--- a/nixpkgs/pkgs/development/python-modules/django_silk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django_silk/default.nix
@@ -7,7 +7,7 @@
 , django
 , pygments
 , simplejson
-, dateutil
+, python-dateutil
 , requests
 , setuptools-scm
 , sqlparse
@@ -56,7 +56,7 @@ buildPythonPackage rec {
   nativeBuildInputs = [ setuptools-scm ];
   buildInputs = [ mock ];
   propagatedBuildInputs = [
-    django pygments simplejson dateutil requests
+    django pygments simplejson python-dateutil requests
     sqlparse jinja2 autopep8 pytz pillow gprof2dot
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/drms/default.nix b/nixpkgs/pkgs/development/python-modules/drms/default.nix
index 613d2444d73c..1bc5d380b08e 100644
--- a/nixpkgs/pkgs/development/python-modules/drms/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/drms/default.nix
@@ -7,16 +7,18 @@
 , astropy
 , pytestCheckHook
 , pytest-doctestplus
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "drms";
-  version = "0.6.0";
+  version = "0.6.2";
   format = "pyproject";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "74efb903f42647ea536de0c5aea4f9a81efe027c95055ec4e72ef62479a04c89";
+    sha256 = "sha256-Id8rPK8qq71gHn5DKnEi7Lp081GFbcFtGU+v89Vlt9o=";
   };
 
   propagatedBuildInputs = [
@@ -31,10 +33,12 @@ buildPythonPackage rec {
     pytest-doctestplus
   ];
 
+  pythonImportsCheck = [ "drms" ];
+
   meta = with lib; {
     description = "Access HMI, AIA and MDI data with Python";
     homepage = "https://github.com/sunpy/drms";
-    license = licenses.mit;
-    maintainers = [ maintainers.costrouc ];
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/duckdb/default.nix b/nixpkgs/pkgs/development/python-modules/duckdb/default.nix
index 4a4dd279a52e..fd360bfbd120 100644
--- a/nixpkgs/pkgs/development/python-modules/duckdb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/duckdb/default.nix
@@ -5,7 +5,7 @@
 , pandas
 , pybind11
 , setuptools-scm
-, pytestrunner
+, pytest-runner
 , pytestCheckHook
 }:
 
@@ -28,18 +28,24 @@ buildPythonPackage rec {
   nativeBuildInputs = [
     pybind11
     setuptools-scm
-    pytestrunner
+    pytest-runner
   ];
 
-  propagatedBuildInputs = [ numpy pandas ];
+  propagatedBuildInputs = [
+    numpy
+    pandas
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  checkInputs = [ pytestCheckHook ];
   pythonImportsCheck = [ "duckdb" ];
 
   meta = with lib; {
-    description = "DuckDB is an embeddable SQL OLAP Database Management System";
-    homepage = "https://pypi.python.org/pypi/duckdb";
+    description = "Python binding for DuckDB";
+    homepage = "https://duckdb.org/";
     license = licenses.mit;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/dugong/default.nix b/nixpkgs/pkgs/development/python-modules/dugong/default.nix
index 09a0f25e18fd..5130ea3b0043 100644
--- a/nixpkgs/pkgs/development/python-modules/dugong/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dugong/default.nix
@@ -1,14 +1,32 @@
-{ buildPythonPackage, fetchPypi, pythonOlder }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "dugong";
-  version = "3.7.5";
+  version = "3.8.1";
+  disabled = pythonOlder "3.3";
 
-  disabled = pythonOlder "3.3"; # Library does not support versions older than 3.3
+  src = fetchFromGitHub {
+    owner = "python-dugong";
+    repo = "python-dugong";
+    rev = "release-${version}";
+    sha256 = "1063c1779idc5nrjzfv5w1xqvyy3crapb2a2xll9y6xphxclnkjc";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "dugong" ];
 
-  src = fetchPypi {
-    inherit pname version;
-    extension = "tar.bz2";
-    sha256 = "10vjdp21m0gzm096lgl84z184s5l9iz69ppj6acgsc125037dl6h";
+  meta = with lib; {
+    description = "HTTP 1.1 client designed for REST-ful APIs";
+    homepage = "https://github.com/python-dugong/python-dugong/";
+    license = with licenses; [ psfl asl20 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/ecos/default.nix b/nixpkgs/pkgs/development/python-modules/ecos/default.nix
index 6c07a5d485a6..35470cb8b60b 100644
--- a/nixpkgs/pkgs/development/python-modules/ecos/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ecos/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "ecos";
-  version = "2.0.7.post1";
+  version = "2.0.8";
 
   disabled = pythonOlder "3.6";
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "embotech";
     repo = "ecos-python";
     rev = version;
-    sha256 = "1wzmamz2r4xr2zxgfwnm5q283185d1q6a7zn30vip18lxpys70z0";
+    sha256 = "sha256-2OJqbcOZceeD2fO5cu9fohuUVaA2LwQOQSWR4jRv3mk=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/editdistance-s/default.nix b/nixpkgs/pkgs/development/python-modules/editdistance-s/default.nix
new file mode 100644
index 000000000000..8d9be707f9b4
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/editdistance-s/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, cffi
+}:
+
+buildPythonPackage rec {
+  pname = "editdistance-s";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "asottile";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0w2qd5b6a3c3ahd0xy9ykq4wzqk0byqwdqrr26dyn8j2425j46lg";
+  };
+
+  propagatedBuildInputs = [ cffi ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "editdistance_s" ];
+
+  meta = with lib; {
+    description = "Fast implementation of the edit distance (Levenshtein distance)";
+    homepage = "https://github.com/asottile/editdistance-s";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ austinbutler ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/editorconfig/default.nix b/nixpkgs/pkgs/development/python-modules/editorconfig/default.nix
index 4329db98c2bd..6449a3da767c 100644
--- a/nixpkgs/pkgs/development/python-modules/editorconfig/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/editorconfig/default.nix
@@ -6,29 +6,33 @@
 
 buildPythonPackage rec {
   pname = "editorconfig";
-  version = "0.12.2";
+  version = "0.12.3";
 
   # fetchgit used to ensure test submodule is available
   src = fetchgit {
     url = "https://github.com/editorconfig/editorconfig-core-py";
-    rev = "596da5e06ebee05bdbdc6224203c79c4d3c6486a"; # Not tagged
-    sha256 = "05cbp971b0zix7kfxkk7ndxb4ax1l21frwc00d4g78mk4sdz6dig";
+    rev = "1a8fb62b9941fded9e4fb83a3d0599427f5484cb"; # Not tagged
+    sha256 = "0vx8rl7kii72965jsi01mdsz9rfi1q9bwy13x47iaqm6rmcwc1rb";
   };
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [
+    cmake
+  ];
 
   dontUseCmakeConfigure = true;
 
   checkPhase = ''
     cmake .
-    # utf_8_char fails with python3
+    # utf_8_char fails with Python 3
     ctest -E "utf_8_char" .
   '';
 
+  pythonImportsCheck = [ "editorconfig" ];
+
   meta = with lib; {
-    homepage = "https://editorconfig.org";
     description = "EditorConfig File Locator and Interpreter for Python";
+    homepage = "https://editorconfig.org";
     license = licenses.psfl;
+    maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/emailthreads/default.nix b/nixpkgs/pkgs/development/python-modules/emailthreads/default.nix
index 36553daff55f..c57e58368ff8 100644
--- a/nixpkgs/pkgs/development/python-modules/emailthreads/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/emailthreads/default.nix
@@ -3,7 +3,7 @@
 
 buildPythonPackage rec {
   pname = "emailthreads";
-  version = "0.1.0";
+  version = "0.1.3";
   disabled = !isPy3k;
 
   # pypi is missing files for tests
@@ -11,7 +11,7 @@ buildPythonPackage rec {
     owner = "emersion";
     repo = "python-emailthreads";
     rev = "v${version}";
-    sha256 = "17pfal8kbxhs025apkijqbkppw2lljca8x1cwcx49jv60h05c3cn";
+    sha256 = "sha256-7BhYS1DQCW9QpG31asPCq5qPyJy+WW2onZpvEHhwQCs=";
   };
 
   PKGVER = version;
diff --git a/nixpkgs/pkgs/development/python-modules/emcee/default.nix b/nixpkgs/pkgs/development/python-modules/emcee/default.nix
index a4f2bece3497..72cb9a64db0a 100644
--- a/nixpkgs/pkgs/development/python-modules/emcee/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/emcee/default.nix
@@ -1,20 +1,42 @@
-{ lib, buildPythonPackage, fetchPypi
-, numpy }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, numpy
+, pytestCheckHook
+, setuptools-scm
+}:
 
 buildPythonPackage rec {
   pname = "emcee";
-  version = "3.0.2";
+  version = "3.1.0";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "035a44d7594fdd03efd10a522558cdfaa080e046ad75594d0bf2aec80ec35388";
+  src = fetchFromGitHub {
+    owner = "dfm";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1x9y4zwlv6hl7jms2knpa2qrh89ywsl847yb7d93n94gyx2s16p0";
   };
 
-  propagatedBuildInputs = [ numpy ];
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "emcee" ];
 
   meta = with lib; {
     description = "Kick ass affine-invariant ensemble MCMC sampling";
     homepage = "https://emcee.readthedocs.io/";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/emoji/default.nix b/nixpkgs/pkgs/development/python-modules/emoji/default.nix
index ce2beb235116..67c9c7a1abd0 100644
--- a/nixpkgs/pkgs/development/python-modules/emoji/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/emoji/default.nix
@@ -1,21 +1,33 @@
-{ lib, buildPythonPackage, fetchPypi, nose }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "emoji";
-  version = "1.2.0";
+  version = "1.4.0";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "18siknldyqvxvjf0nv18m0a1c26ahkg7vmhkij1qayanb0h46vs9";
+  src = fetchFromGitHub {
+    owner = "carpedm20";
+    repo = pname;
+    rev = "v.${version}";
+    sha256 = "0xksxdld20sh3c2s6pry1fm2br9xq8ypdq5pf971fpg5pk2f4iy9";
   };
 
-  checkInputs = [ nose ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  checkPhase = "nosetests";
+  disabledTests = [
+    "test_emojize_name_only"
+  ];
+
+  pythonImportsCheck = [ "emoji" ];
 
   meta = with lib; {
     description = "Emoji for Python";
-    homepage = "https://pypi.python.org/pypi/emoji/";
+    homepage = "https://github.com/carpedm20/emoji/";
     license = licenses.bsd3;
     maintainers = with maintainers; [ joachifm ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/enaml/default.nix b/nixpkgs/pkgs/development/python-modules/enaml/default.nix
index 8896c5c706a6..8257af2e45fe 100644
--- a/nixpkgs/pkgs/development/python-modules/enaml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/enaml/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "enaml";
-  version = "0.11.2";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "nucleic";
     repo = pname;
     rev = version;
-    sha256 = "1in5qa5j96qs3gsv8yaxs1l6dbm69xhzvc0pbzg0dd9kpqxfdy1j";
+    sha256 = "sha256-8ZahvFDYW7xUTSTZP1UXnQBCg9RVUywoO7EbqtTQPJI=";
   };
 
   # qt bindings cannot be found during tests
diff --git a/nixpkgs/pkgs/development/python-modules/enturclient/default.nix b/nixpkgs/pkgs/development/python-modules/enturclient/default.nix
index 8ac474b6e5f8..f98b38396efc 100644
--- a/nixpkgs/pkgs/development/python-modules/enturclient/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/enturclient/default.nix
@@ -3,21 +3,27 @@
 , async-timeout
 , buildPythonPackage
 , fetchFromGitHub
+, poetry-core
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "enturclient";
-  version = "0.2.1";
-  disabled = pythonOlder "3.7";
+  version = "0.2.2";
+  disabled = pythonOlder "3.8";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "hfurubotten";
     repo = pname;
     rev = "v${version}";
-    sha256 = "158xzv9c2drjgrdhfqm0xzx2d34v45gr5rnjfsi94scffvprgwrg";
+    sha256 = "1kl44ch8p31pr70yv6na2m0w40frackdwzph9rpb05sc83va701i";
   };
 
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
   propagatedBuildInputs = [
     aiohttp
     async-timeout
diff --git a/nixpkgs/pkgs/development/python-modules/env-canada/default.nix b/nixpkgs/pkgs/development/python-modules/env-canada/default.nix
new file mode 100644
index 000000000000..3beb01e3b13e
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/env-canada/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, geopy
+, imageio
+, pillow
+, pytestCheckHook
+, python-dateutil
+}:
+
+buildPythonPackage rec {
+  pname = "env-canada";
+  version = "0.4.0";
+
+  src = fetchFromGitHub {
+    owner = "michaeldavie";
+    repo = "env_canada";
+    rev = "v${version}";
+    sha256 = "0y4yjzmg6ns7a13j1cxqvrff4fd6k97cpc1xjwqrwp7gq49rzhy7";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    geopy
+    imageio
+    pillow
+    python-dateutil
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # Tests require network access
+    "test_get_aqhi_regions"
+    "test_update"
+    "test_get_hydro_sites"
+    "test_echydro"
+    "test_get_dimensions"
+    "test_get_latest_frame"
+    "test_get_loop"
+    "test_get_ec_sites"
+  ];
+
+  pythonImportsCheck = [ "env_canada" ];
+
+  meta = with lib; {
+    description = "Python library to get Environment Canada weather data";
+    homepage = "https://github.com/michaeldavie/env_canada";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/ephem/default.nix b/nixpkgs/pkgs/development/python-modules/ephem/default.nix
index c0d77c297481..a859f509f347 100644
--- a/nixpkgs/pkgs/development/python-modules/ephem/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ephem/default.nix
@@ -1,26 +1,36 @@
-{ lib, buildPythonPackage, fetchPypi, isPy3k
-, glibcLocales, pytest }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+, glibcLocales
+, pytest
+}:
 
 buildPythonPackage rec {
   pname = "ephem";
-  version = "3.7.7.1";
+  version = "4.0.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "36b51a8dc7cfdeb456dd6b8ab811accab8341b2d562ee3c6f4c86f6d3dbb984e";
+    sha256 = "sha256-0D3nPr9qkWgdWX61tdQ7z28MZ+KSu6L5qXRzS08VdX4=";
   };
 
-  patchFlags = [ "-p0" ];
-  checkInputs = [ pytest glibcLocales ];
+  checkInputs = [
+    glibcLocales
+    pytest
+  ];
+
   # JPLTest uses assets not distributed in package
   checkPhase = ''
-    LC_ALL="en_US.UTF-8" py.test --pyargs ephem.tests -k "not JPLTest"
+    LC_ALL="en_US.UTF-8" pytest --pyargs ephem.tests -k "not JPLTest"
   '';
 
+  pythonImportsCheck = [ "ephem" ];
+
   meta = with lib; {
     description = "Compute positions of the planets and stars";
-    homepage = "https://pypi.python.org/pypi/ephem/";
-    license = licenses.lgpl3;
+    homepage = "https://github.com/brandon-rhodes/pyephem";
+    license = licenses.mit;
     maintainers = with maintainers; [ chrisrosset ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/extractcode/7z.nix b/nixpkgs/pkgs/development/python-modules/extractcode/7z.nix
index e3318b426ecc..be6fcde55c29 100644
--- a/nixpkgs/pkgs/development/python-modules/extractcode/7z.nix
+++ b/nixpkgs/pkgs/development/python-modules/extractcode/7z.nix
@@ -4,15 +4,16 @@
 , plugincode
 , p7zip
 }:
+
 buildPythonPackage rec {
   pname = "extractcode-7z";
-  version = "21.4.4";
+  version = "21.5.31";
 
   src = fetchFromGitHub {
     owner = "nexB";
     repo = "scancode-plugins";
     rev = "v${version}";
-    sha256 = "xnUGDMS34iMVMGo/nZwRarGzzbj3X4Rt+YHvvKpmy6A=";
+    sha256 = "02qinla281fc6pmg5xzsrmqnf9js76f2qcbf98zq7m2dkn70as4w";
   };
 
   sourceRoot = "source/builtins/extractcode_7z-linux";
diff --git a/nixpkgs/pkgs/development/python-modules/extractcode/libarchive.nix b/nixpkgs/pkgs/development/python-modules/extractcode/libarchive.nix
index 8e89c3d6a8e3..2cff60f3d811 100644
--- a/nixpkgs/pkgs/development/python-modules/extractcode/libarchive.nix
+++ b/nixpkgs/pkgs/development/python-modules/extractcode/libarchive.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "extractcode-libarchive";
-  version = "21.4.4";
+  version = "21.5.31";
 
   src = fetchFromGitHub {
     owner = "nexB";
     repo = "scancode-plugins";
     rev = "v${version}";
-    sha256 = "xnUGDMS34iMVMGo/nZwRarGzzbj3X4Rt+YHvvKpmy6A=";
+    sha256 = "02qinla281fc6pmg5xzsrmqnf9js76f2qcbf98zq7m2dkn70as4w";
   };
 
   sourceRoot = "source/builtins/extractcode_libarchive-linux";
diff --git a/nixpkgs/pkgs/development/python-modules/fabulous/default.nix b/nixpkgs/pkgs/development/python-modules/fabulous/default.nix
index 6079f22020a2..b357eb0c01b4 100644
--- a/nixpkgs/pkgs/development/python-modules/fabulous/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fabulous/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "fabulous";
-  version = "0.3.0";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "jart";
     repo = pname;
     rev = version;
-    sha256 = "0yxdaz6yayp1a57kdb2i8q7kwwdlwy4a3d0lr012h2ji9m89c8q7";
+    sha256 = "sha256-hchlxuB5QP+VxCx+QZ2739/mR5SQmYyE+9kXLKJ2ij4=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/fake_factory/default.nix b/nixpkgs/pkgs/development/python-modules/fake_factory/default.nix
index 2e561a163ab5..002df15177bd 100644
--- a/nixpkgs/pkgs/development/python-modules/fake_factory/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fake_factory/default.nix
@@ -3,7 +3,7 @@
 , fetchPypi
 , python
 , six
-, dateutil
+, python-dateutil
 , ipaddress
 , mock
 }:
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     sha256 = "f5bd18deb22ad8cb4402513c025877bc6b50de58902d686b6b21ba8981dce260";
   };
 
-  propagatedBuildInputs = [ six dateutil ipaddress mock ];
+  propagatedBuildInputs = [ six python-dateutil ipaddress mock ];
 
   # fake-factory is depreciated and single test will always fail
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/faker/default.nix b/nixpkgs/pkgs/development/python-modules/faker/default.nix
index 12f30b20a42b..196c7e47b399 100644
--- a/nixpkgs/pkgs/development/python-modules/faker/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/faker/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, dateutil
+, python-dateutil
 , text-unidecode
 , freezegun
 , pytestCheckHook
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    dateutil
+    python-dateutil
     text-unidecode
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/fastimport/default.nix b/nixpkgs/pkgs/development/python-modules/fastimport/default.nix
index c036f5cacb70..fe46405eb3f1 100644
--- a/nixpkgs/pkgs/development/python-modules/fastimport/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fastimport/default.nix
@@ -1,9 +1,16 @@
-{ lib, buildPythonPackage, python, fetchPypi}:
+{ lib
+, pythonOlder
+, buildPythonPackage
+, fetchPypi
+, python
+}:
 
 buildPythonPackage rec {
   pname = "fastimport";
   version = "0.9.13";
 
+  disabled = pythonOlder "3.5";
+
   src = fetchPypi {
     inherit pname version;
     sha256 = "486135a39edb85808fdbbe2c8009197978800a4544fca56cc2074df32e1304f3";
@@ -13,8 +20,10 @@ buildPythonPackage rec {
     ${python.interpreter} -m unittest discover
   '';
 
+  pythonImportsCheck = [ "fastimport" ];
+
   meta = with lib; {
-    homepage = "https://launchpad.net/python-fastimport";
+    homepage = "https://github.com/jelmer/python-fastimport";
     description = "VCS fastimport/fastexport parser";
     maintainers = with maintainers; [ koral ];
     license = licenses.gpl2Plus;
diff --git a/nixpkgs/pkgs/development/python-modules/feedgen/default.nix b/nixpkgs/pkgs/development/python-modules/feedgen/default.nix
index 59ca95a0338a..9ca3627e74ca 100644
--- a/nixpkgs/pkgs/development/python-modules/feedgen/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/feedgen/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, dateutil, lxml }:
+{ lib, buildPythonPackage, fetchPypi, python-dateutil, lxml }:
 
 buildPythonPackage rec {
   pname = "feedgen";
@@ -9,7 +9,7 @@ buildPythonPackage rec {
     sha256 = "0jl0b87l7v6c0f1nx6k81skjhdj5i11kmchdjls00mynpvdip0cf";
   };
 
-  propagatedBuildInputs = [ dateutil lxml ];
+  propagatedBuildInputs = [ python-dateutil lxml ];
 
   # No tests in archive
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/fitbit/default.nix b/nixpkgs/pkgs/development/python-modules/fitbit/default.nix
index 46c6ac78a6c4..b41ac0a4983a 100644
--- a/nixpkgs/pkgs/development/python-modules/fitbit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fitbit/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , coverage
-, dateutil
+, python-dateutil
 , freezegun
 , mock
 , requests-mock
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   version = "0.3.1";
 
   checkInputs = [ coverage freezegun mock requests-mock sphinx ];
-  propagatedBuildInputs = [ dateutil requests_oauthlib ];
+  propagatedBuildInputs = [ python-dateutil requests_oauthlib ];
 
   # The source package on PyPi is missing files required for unit testing.
   # https://github.com/orcasgit/python-fitbit/issues/148
diff --git a/nixpkgs/pkgs/development/python-modules/flask-compress/default.nix b/nixpkgs/pkgs/development/python-modules/flask-compress/default.nix
index 5d8359885bd1..fff330946d16 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-compress/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-compress/default.nix
@@ -11,6 +11,10 @@ buildPythonPackage rec {
     sha256 = "28352387efbbe772cfb307570019f81957a13ff718d994a9125fa705efb73680";
   };
 
+  postPatch = ''
+    sed -i -e 's/use_scm_version=.*/version="${version}",/' setup.py
+  '';
+
   propagatedBuildInputs = [ flask brotli ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/flask-jwt-extended/default.nix b/nixpkgs/pkgs/development/python-modules/flask-jwt-extended/default.nix
index d58ae4310398..7057bb587503 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-jwt-extended/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-jwt-extended/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, dateutil, flask, pyjwt, werkzeug, pytest }:
+{ lib, buildPythonPackage, fetchPypi, python-dateutil, flask, pyjwt, werkzeug, pytest }:
 
 buildPythonPackage rec {
   pname = "Flask-JWT-Extended";
@@ -9,7 +9,7 @@ buildPythonPackage rec {
     sha256 = "76461f2dbdf502261c69ddecd858eaf4164fbcfbf05aa456f3927fc2ab0315de";
   };
 
-  propagatedBuildInputs = [ dateutil flask pyjwt werkzeug ];
+  propagatedBuildInputs = [ python-dateutil flask pyjwt werkzeug ];
   checkInputs = [ pytest ];
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/flask-restx/default.nix b/nixpkgs/pkgs/development/python-modules/flask-restx/default.nix
index e1de7bf0d3b3..4d0d89d0f146 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-restx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-restx/default.nix
@@ -20,16 +20,23 @@
 
 buildPythonPackage rec {
   pname = "flask-restx";
-  version = "0.3.0";
+  version = "0.4.0";
 
   # Tests not included in PyPI tarball
   src = fetchFromGitHub {
     owner = "python-restx";
     repo = pname;
     rev = version;
-    sha256 = "0aj13nd3z71gb8c2kqiaz3f9k7jr0srlvrsx8hpz4nkpki8jiz2s";
+    sha256 = "sha256-jM0QJ/klbWh3qho6ZQOH2n1qaguK9C98QIuSfqpI8xA=";
   };
 
+  postPatch = ''
+    # https://github.com/python-restx/flask-restx/pull/341
+    substituteInPlace requirements/install.pip \
+      --replace "Flask>=0.8, <2.0.0" "Flask>=0.8, !=2.0.0" \
+      --replace "werkzeug <2.0.0" "werkzeug !=2.0.0"
+  '';
+
   propagatedBuildInputs = [ aniso8601 jsonschema flask werkzeug pytz six ]
     ++ lib.optionals isPy27 [ enum34 ];
 
@@ -42,6 +49,8 @@ buildPythonPackage rec {
     "--deselect=tests/test_logging.py::LoggingTest::test_override_app_level"
   ];
 
+  pythonImportCheck = [ "flask_restx" ];
+
   meta = with lib; {
     homepage = "https://flask-restx.readthedocs.io/en/${version}/";
     description = "Fully featured framework for fast, easy and documented API development with Flask";
diff --git a/nixpkgs/pkgs/development/python-modules/foolscap/default.nix b/nixpkgs/pkgs/development/python-modules/foolscap/default.nix
index e0d38a5a1313..ea0c17d5524a 100644
--- a/nixpkgs/pkgs/development/python-modules/foolscap/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/foolscap/default.nix
@@ -2,39 +2,48 @@
 , buildPythonPackage
 , fetchPypi
 , mock
-, twisted
 , pyopenssl
+, pytestCheckHook
 , service-identity
+, twisted
 }:
 
 buildPythonPackage rec {
   pname = "foolscap";
-  version = "20.4.0";
+  version = "21.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0rbw9makjmawkcxnkkngybj3n14s0dnzn9gkqqq2krcm514kmlb9";
+    sha256 = "sha256-6dGFU4YNk1joXXZi2c2L84JtUbTs1ICgXfv0/EU2P4Q=";
   };
 
-  propagatedBuildInputs = [ mock twisted pyopenssl service-identity ];
+  propagatedBuildInputs = [
+    mock
+    twisted
+    pyopenssl
+    service-identity
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  checkPhase = ''
-    # Either uncomment this, or remove this custom check phase entirely, if
-    # you wish to do battle with the foolscap tests. ~ C.
-    # trial foolscap
-  '';
+  disabledTestPaths = [
+    # Not all dependencies are present
+    "src/foolscap/test/test_connection.py"
+  ];
+
+  pythonImportsCheck = [ "foolscap" ];
 
   meta = with lib; {
-    homepage = "http://foolscap.lothar.com/";
-    description = "Foolscap, an RPC protocol for Python that follows the distributed object-capability model";
+    description = "RPC protocol for Python that follows the distributed object-capability model";
     longDescription = ''
-      "Foolscap" is the name for the next-generation RPC protocol,
-      intended to replace Perspective Broker (part of Twisted).
-      Foolscap is a protocol to implement a distributed
-      object-capabilities model in Python.
+      "Foolscap" is the name for the next-generation RPC protocol, intended to
+      replace Perspective Broker (part of Twisted). Foolscap is a protocol to
+      implement a distributed object-capabilities model in Python.
     '';
-    # See http://foolscap.lothar.com/trac/browser/LICENSE.
+    homepage = "https://github.com/warner/foolscap";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/freezegun/0.3.nix b/nixpkgs/pkgs/development/python-modules/freezegun/0.3.nix
index a83a432d89dc..c4444805009d 100644
--- a/nixpkgs/pkgs/development/python-modules/freezegun/0.3.nix
+++ b/nixpkgs/pkgs/development/python-modules/freezegun/0.3.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , isPy27
-, dateutil
+, python-dateutil
 , six
 , mock
 , nose
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     sha256 = "e2062f2c7f95cc276a834c22f1a17179467176b624cc6f936e8bc3be5535ad1b";
   };
 
-  propagatedBuildInputs = [ dateutil six ];
+  propagatedBuildInputs = [ python-dateutil six ];
   checkInputs = [ mock nose pytest ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/freezegun/default.nix b/nixpkgs/pkgs/development/python-modules/freezegun/default.nix
index 00d03435de9d..742506b6089d 100644
--- a/nixpkgs/pkgs/development/python-modules/freezegun/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/freezegun/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , pythonOlder
 , fetchPypi
-, dateutil
+, python-dateutil
 , pytestCheckHook
 }:
 
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     sha256 = "177f9dd59861d871e27a484c3332f35a6e3f5d14626f2bf91be37891f18927f3";
   };
 
-  propagatedBuildInputs = [ dateutil ];
+  propagatedBuildInputs = [ python-dateutil ];
   checkInputs = [ pytestCheckHook ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/gdrivefs/default.nix b/nixpkgs/pkgs/development/python-modules/gdrivefs/default.nix
index 836fdee4bebd..41b6a6a87f19 100644
--- a/nixpkgs/pkgs/development/python-modules/gdrivefs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gdrivefs/default.nix
@@ -6,7 +6,7 @@
 , greenlet
 , httplib2
 , six
-, dateutil
+, python-dateutil
 , fusepy
 , google-api-python-client
 }:
@@ -22,7 +22,7 @@ buildPythonPackage rec {
   };
 
   buildInputs = [ gipc greenlet httplib2 six ];
-  propagatedBuildInputs = [ dateutil fusepy google-api-python-client ];
+  propagatedBuildInputs = [ python-dateutil fusepy google-api-python-client ];
 
   patchPhase = ''
     substituteInPlace gdrivefs/resources/requirements.txt \
diff --git a/nixpkgs/pkgs/development/python-modules/georss-ign-sismologia-client/default.nix b/nixpkgs/pkgs/development/python-modules/georss-ign-sismologia-client/default.nix
index 3fada45d0c8c..e87c766c0caf 100644
--- a/nixpkgs/pkgs/development/python-modules/georss-ign-sismologia-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/georss-ign-sismologia-client/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "georss-ign-sismologia-client";
-  version = "0.3";
+  version = "0.4";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "exxamalte";
     repo = "python-georss-ign-sismologia-client";
     rev = "v${version}";
-    sha256 = "sha256-7Jj6uWb4HyPAh3/XtVTy0N23bk33mlIiqlt9z/PW+4Y=";
+    sha256 = "sha256-g7lZC5ZiJV8dNZJceLROqyBRZSuqaivGFhaQrKe4B7g=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ghp-import/default.nix b/nixpkgs/pkgs/development/python-modules/ghp-import/default.nix
index 37a35febdf03..0d5506009a75 100644
--- a/nixpkgs/pkgs/development/python-modules/ghp-import/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ghp-import/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, dateutil
+, python-dateutil
 }:
 
 buildPythonPackage rec {
@@ -13,7 +13,7 @@ buildPythonPackage rec {
     hash = "sha256-wiqc4Qw3dT4miNFk12WnANrkuNefptsKLDEyuniBiU8=";
   };
 
-  propagatedBuildInputs = [ dateutil ];
+  propagatedBuildInputs = [ python-dateutil ];
 
   # Does not include any unit tests
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/gibberish-detector/default.nix b/nixpkgs/pkgs/development/python-modules/gibberish-detector/default.nix
new file mode 100644
index 000000000000..df3b70c000d7
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/gibberish-detector/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, isPy27
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "gibberish-detector";
+  version = "0.1.1";
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "domanchi";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1si0fkpnk9vjkwl31sq5jkyv3rz8a5f2nh3xq7591j9wv2b6dn0b";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "gibberish_detector" ];
+
+  meta = with lib; {
+    description = "Python module to detect gibberish strings";
+    homepage = "https://github.com/domanchi/gibberish-detector";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/github3_py/default.nix b/nixpkgs/pkgs/development/python-modules/github3_py/default.nix
index 8a1eea40c682..68e277d0b1a5 100644
--- a/nixpkgs/pkgs/development/python-modules/github3_py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/github3_py/default.nix
@@ -9,7 +9,7 @@
 , mock
 , requests
 , uritemplate
-, dateutil
+, python-dateutil
 , jwcrypto
 , pyopenssl
 , ndg-httpsclient
@@ -28,7 +28,7 @@ buildPythonPackage rec {
   checkInputs = [ betamax pytest betamax-matchers ]
     ++ lib.optional (pythonOlder "3") unittest2
     ++ lib.optional (pythonOlder "3.3") mock;
-  propagatedBuildInputs = [ requests uritemplate dateutil jwcrypto pyopenssl ndg-httpsclient pyasn1 ];
+  propagatedBuildInputs = [ requests uritemplate python-dateutil jwcrypto pyopenssl ndg-httpsclient pyasn1 ];
 
   postPatch = ''
     sed -i -e 's/unittest2 ==0.5.1/unittest2>=0.5.1/' setup.py
diff --git a/nixpkgs/pkgs/development/python-modules/google-apputils/default.nix b/nixpkgs/pkgs/development/python-modules/google-apputils/default.nix
index 321837f56aec..225adf348d1a 100644
--- a/nixpkgs/pkgs/development/python-modules/google-apputils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-apputils/default.nix
@@ -4,7 +4,7 @@
 , isPy3k
 , pytz
 , gflags
-, dateutil
+, python-dateutil
 , mox
 , python
 }:
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     sed -i '/ez_setup/d' setup.py
   '';
 
-  propagatedBuildInputs = [ pytz gflags dateutil mox ];
+  propagatedBuildInputs = [ pytz gflags python-dateutil mox ];
 
   checkPhase = ''
     ${python.executable} setup.py google_test
diff --git a/nixpkgs/pkgs/development/python-modules/graphene/default.nix b/nixpkgs/pkgs/development/python-modules/graphene/default.nix
index be2cc808eb0d..c2776e20e2bb 100644
--- a/nixpkgs/pkgs/development/python-modules/graphene/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/graphene/default.nix
@@ -25,9 +25,8 @@ buildPythonPackage rec {
     sha256 = "sha256-bVCCLPnV5F8PqLMg3GwcpwpGldrxsU+WryL6gj6y338=";
   };
 
-  # Allow later aniso8601 releases
-  # https://github.com/graphql-python/graphene/pull/1331
   patches = [ (fetchpatch {
+    # Allow later aniso8601 releases, https://github.com/graphql-python/graphene/pull/1331
     url = "https://github.com/graphql-python/graphene/commit/26b16f75b125e35eeb2274b7be503ec29f2e8a45.patch";
     sha256 = "qm96pNOoxPieEy1CFZpa2Mx010pY3QU/vRyuL0qO3Tk=";
   }) ];
@@ -50,6 +49,11 @@ buildPythonPackage rec {
 
   pytestFlagsArray = [ "--benchmark-disable" ];
 
+  disabledTests = [
+    # TypeError: Failed: DID NOT RAISE <class...
+    "test_unexpected_error"
+  ];
+
   pythonImportsCheck = [ "graphene" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/graphviz/default.nix b/nixpkgs/pkgs/development/python-modules/graphviz/default.nix
index 1a0e6d903a47..0a2413e9d761 100644
--- a/nixpkgs/pkgs/development/python-modules/graphviz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/graphviz/default.nix
@@ -8,7 +8,6 @@
 , mock
 , pytestCheckHook
 , pytest-mock
-, pytestcov
 }:
 
 buildPythonPackage rec {
@@ -30,12 +29,20 @@ buildPythonPackage rec {
     })
   ];
 
+  postPatch = ''
+    sed -i "/--cov/d" setup.cfg
+  '';
+
   # Fontconfig error: Cannot load default config file
   FONTCONFIG_FILE = makeFontsConf {
     fontDirectories = [ freefont_ttf ];
   };
 
-  checkInputs = [ mock pytestCheckHook pytest-mock pytestcov ];
+  checkInputs = [ mock pytestCheckHook pytest-mock ];
+
+  preCheck = ''
+    export HOME=$TMPDIR
+  '';
 
   meta = with lib; {
     description = "Simple Python interface for Graphviz";
diff --git a/nixpkgs/pkgs/development/python-modules/gssapi/default.nix b/nixpkgs/pkgs/development/python-modules/gssapi/default.nix
index 4a98008f7905..cbb81d3c7f61 100644
--- a/nixpkgs/pkgs/development/python-modules/gssapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gssapi/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "gssapi";
-  version = "1.6.12";
+  version = "1.6.14";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "pythongssapi";
     repo = "python-${pname}";
     rev = "v${version}";
-    sha256 = "0r6w52vji1095n3wgzjz9ddaqsvsf3f4gal0rv5i62hpqwlbzkn7";
+    sha256 = "sha256-pL8uvHUdev+nDG0nGh7j7VIJCIQv0egPoTa9hUMuEZc=";
   };
 
   # It's used to locate headers
diff --git a/nixpkgs/pkgs/development/python-modules/guessit/default.nix b/nixpkgs/pkgs/development/python-modules/guessit/default.nix
index 0450dfd07e58..adb131868c7c 100644
--- a/nixpkgs/pkgs/development/python-modules/guessit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/guessit/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , pytestrunner
-, dateutil
+, python-dateutil
 , babelfish
 , rebulk
 }:
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   doCheck = false;
   buildInputs = [ pytestrunner ];
   propagatedBuildInputs = [
-    dateutil babelfish rebulk
+    python-dateutil babelfish rebulk
   ];
 
   meta = {
diff --git a/nixpkgs/pkgs/development/python-modules/guppy3/default.nix b/nixpkgs/pkgs/development/python-modules/guppy3/default.nix
index 578f979914cb..b9db312d8716 100644
--- a/nixpkgs/pkgs/development/python-modules/guppy3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/guppy3/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "guppy3";
-  version = "3.1.0";
+  version = "3.1.1";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "zhuyifei1999";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0yjsn8najbic4f50nj6jzhzrhj1bw6918w0gihdkzhqynwgqi64m";
+    sha256 = "14iwah1i4dcn74zjj9sq3av1yh9q5nvgqwccnn71blp7gxcnxnvh";
   };
 
   propagatedBuildInputs = [ tkinter ];
diff --git a/nixpkgs/pkgs/development/python-modules/hass-nabucasa/default.nix b/nixpkgs/pkgs/development/python-modules/hass-nabucasa/default.nix
index f69f140017e0..201337ef7717 100644
--- a/nixpkgs/pkgs/development/python-modules/hass-nabucasa/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hass-nabucasa/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "hass-nabucasa";
-  version = "0.43.1";
+  version = "0.44.0";
 
   src = fetchFromGitHub {
     owner = "nabucasa";
     repo = pname;
     rev = version;
-    sha256 = "sha256-eQdbAQRKqnJGxnSTkk3gld9TX9MpP3J8LFNYH6peVIY=";
+    sha256 = "sha256-cfKuqkIgmbo7/kUIpJFbckyQ0uDrxXmdsI7qORX0PWc=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/hijri-converter/default.nix b/nixpkgs/pkgs/development/python-modules/hijri-converter/default.nix
index d7ae17ed61a8..e9ce708b2cba 100644
--- a/nixpkgs/pkgs/development/python-modules/hijri-converter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hijri-converter/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "hijri-converter";
-  version = "2.1.2";
+  version = "2.1.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "43b5ac566e7a7deeab364a2397e94405a65fd24ea786073eb3d4c740ebda7b9b";
+    sha256 = "1cq67v0fjk7cd8kbppg2kl31a5i6jm8qrkcdqxx6vxwmx65l68ks";
   };
 
   checkInputs = [ pytestCheckHook ];
diff --git a/nixpkgs/pkgs/development/python-modules/hikvision/default.nix b/nixpkgs/pkgs/development/python-modules/hikvision/default.nix
new file mode 100644
index 000000000000..274157c9616d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/hikvision/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "hikvision";
+  version = "2.0.4";
+
+  src = fetchFromGitHub {
+    owner = "fbradyirl";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1l0zvir4hf1pcwwcmrhkspbdljzmi4lknxar5bkipdanpsm588mn";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "hikvision.api" ];
+
+  meta = with lib; {
+    description = "Python module for interacting with Hikvision IP Cameras";
+    homepage = "https://github.com/fbradyirl/hikvision";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/holidays/default.nix b/nixpkgs/pkgs/development/python-modules/holidays/default.nix
index fe362fa86da8..e09b957425a8 100644
--- a/nixpkgs/pkgs/development/python-modules/holidays/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/holidays/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , convertdate
-, dateutil
+, python-dateutil
 , fetchPypi
 , hijri-converter
 , korean-lunar-calendar
@@ -22,7 +22,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     convertdate
-    dateutil
+    python-dateutil
     hijri-converter
     korean-lunar-calendar
     six
diff --git a/nixpkgs/pkgs/development/python-modules/hstspreload/default.nix b/nixpkgs/pkgs/development/python-modules/hstspreload/default.nix
index e6a3837522e6..6833837b6968 100644
--- a/nixpkgs/pkgs/development/python-modules/hstspreload/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hstspreload/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "hstspreload";
-  version = "2021.6.28";
+  version = "2021.7.5";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "sethmlarson";
     repo = pname;
     rev = version;
-    sha256 = "sha256-SZGyn79R3+IwtoZ+khgFnl0WosRoCcKNk8efGxbOugc=";
+    sha256 = "sha256-/89K41MrTdF68+BVkfnv+0d+6rBHdRGKpN2Psfr2Wog=";
   };
 
   # tests require network connection
diff --git a/nixpkgs/pkgs/development/python-modules/httmock/default.nix b/nixpkgs/pkgs/development/python-modules/httmock/default.nix
index cbf6b95ccd36..7928189c7cd1 100644
--- a/nixpkgs/pkgs/development/python-modules/httmock/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/httmock/default.nix
@@ -1,22 +1,34 @@
-{ lib, buildPythonPackage, fetchFromGitHub, requests }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
-  pname   = "httmock";
-  version = "1.3.0";
+  pname = "httmock";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "patrys";
     repo = "httmock";
     rev = version;
-    sha256 = "1dy7pjq4gz476jcnbbpzk8w8qxr9l8wwgw9x2c7lf6fzsgnf404q";
+    sha256 = "sha256-yid4vh1do0zqVzd1VV7gc+Du4VPrkeGFsDHqNbHL28I=";
   };
 
-  checkInputs = [ requests ];
+  checkInputs = [
+    requests
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [ "tests.py" ];
+
+  pythonImportsCheck = [ "httmock" ];
 
   meta = with lib; {
     description = "A mocking library for requests";
-    homepage    = "https://github.com/patrys/httmock";
-    license     = licenses.asl20;
+    homepage = "https://github.com/patrys/httmock";
+    license = licenses.asl20;
     maintainers = with maintainers; [ nyanloutre ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/hypchat/default.nix b/nixpkgs/pkgs/development/python-modules/hypchat/default.nix
index 8337fd2230ba..1f69dfe21062 100644
--- a/nixpkgs/pkgs/development/python-modules/hypchat/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hypchat/default.nix
@@ -1,5 +1,5 @@
 { buildPythonPackage, fetchPypi
-, requests, six, dateutil }:
+, requests, six, python-dateutil }:
 
 buildPythonPackage rec {
   pname = "hypchat";
@@ -10,5 +10,5 @@ buildPythonPackage rec {
     sha256 = "1sd8f3gihagaqd848dqy6xw457fa4f9bla1bfyni7fq3h76sjdzg";
   };
 
-  propagatedBuildInputs = [ requests six dateutil ];
+  propagatedBuildInputs = [ requests six python-dateutil ];
 }
diff --git a/nixpkgs/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix b/nixpkgs/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix
index 973b792f5bc8..a63617ba2a2a 100644
--- a/nixpkgs/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix
@@ -38,9 +38,17 @@ buildPythonPackage rec {
 
   # Various tests try to access credential files which are not included with the source distribution
   disabledTests = [
-    "test_iam" "test_cwd" "test_configure_service" "test_get_authenticator"
-    "test_read_external_sources_2" "test_files_duplicate_parts" "test_files_list"
-    "test_files_dict" "test_retry_config_external" "test_gzip_compression_external"
+    "test_configure_service"
+    "test_cp4d_authenticator"
+    "test_cwd"
+    "test_files_dict"
+    "test_files_duplicate_parts"
+    "test_files_list"
+    "test_get_authenticator"
+    "test_gzip_compression_external"
+    "test_iam"
+    "test_read_external_sources_2"
+    "test_retry_config_external"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/ibm-watson/default.nix b/nixpkgs/pkgs/development/python-modules/ibm-watson/default.nix
index 7684f1a689cb..3698d8b2e368 100644
--- a/nixpkgs/pkgs/development/python-modules/ibm-watson/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ibm-watson/default.nix
@@ -14,13 +14,13 @@
 
 buildPythonPackage rec {
   pname = "ibm-watson";
-  version = "5.2.0";
+  version = "5.2.1";
 
   src = fetchFromGitHub {
     owner = "watson-developer-cloud";
     repo = "python-sdk";
     rev = "v${version}";
-    sha256 = "1abink5mv9nw506nwm9hlvnr1lq6dkxxj2j12iwphcyd7xs63n2s";
+    sha256 = "sha256-0F4BZf0D0dqGm0OkJaSgmH5RxEA8KCzOlbnhIQVsgzQ=";
   };
 
   checkInputs = [
@@ -40,8 +40,7 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace setup.py \
-      --replace websocket-client==0.48.0 websocket-client>=0.48.0 \
-      --replace ibm_cloud_sdk_core==3.3.6 ibm_cloud_sdk_core>=3.3.6
+      --replace websocket-client==1.1.0 websocket-client>=1.1.0
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/icalendar/default.nix b/nixpkgs/pkgs/development/python-modules/icalendar/default.nix
index 8e75a945d10c..fdf490e7cb2d 100644
--- a/nixpkgs/pkgs/development/python-modules/icalendar/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/icalendar/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , setuptools
-, dateutil
+, python-dateutil
 , pytz
 }:
 
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   };
 
   buildInputs = [ setuptools ];
-  propagatedBuildInputs = [ dateutil pytz ];
+  propagatedBuildInputs = [ python-dateutil pytz ];
 
   meta = with lib; {
     description = "A parser/generator of iCalendar files";
diff --git a/nixpkgs/pkgs/development/python-modules/identify/default.nix b/nixpkgs/pkgs/development/python-modules/identify/default.nix
index cb4d538da3dd..15850707b187 100644
--- a/nixpkgs/pkgs/development/python-modules/identify/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/identify/default.nix
@@ -2,23 +2,23 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pytestCheckHook
-, editdistance
+, editdistance-s
 }:
 
 buildPythonPackage rec {
   pname = "identify";
-  version = "1.6.1";
+  version = "2.2.10";
 
 
   src = fetchFromGitHub {
     owner = "pre-commit";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1sqhqqjp53dwm8yq4nrgggxbvzs3szbg49z5sj2ss9xzlgmimclm";
+    sha256 = "017xcwm8m42a1v3v0fs8v3m2sga97rx9a7vk0cb2g14777f4w4si";
   };
 
   checkInputs = [
-    editdistance
+    editdistance-s
     pytestCheckHook
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/influxdb/default.nix b/nixpkgs/pkgs/development/python-modules/influxdb/default.nix
index 6b3a46ea3915..3b9672701833 100644
--- a/nixpkgs/pkgs/development/python-modules/influxdb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/influxdb/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, dateutil
+, python-dateutil
 , fetchFromGitHub
 , fetchpatch
 , mock
@@ -27,7 +27,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     requests
-    dateutil
+    python-dateutil
     pytz
     six
     msgpack
diff --git a/nixpkgs/pkgs/development/python-modules/ipfshttpclient/default.nix b/nixpkgs/pkgs/development/python-modules/ipfshttpclient/default.nix
index aec8f1ec1176..62fa6d936149 100644
--- a/nixpkgs/pkgs/development/python-modules/ipfshttpclient/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ipfshttpclient/default.nix
@@ -20,15 +20,15 @@
 
 buildPythonPackage rec {
   pname = "ipfshttpclient";
-  version = "0.7.0";
+  version = "0.8.0a2";
   format = "flit";
-  disabled = pythonOlder "3.5";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "ipfs-shipyard";
     repo = "py-ipfs-http-client";
     rev = version;
-    sha256 = "sha256-0lMoZo/9kZUXkaKvD9ZAZDQdGX7eNLzJVszZdlM/3Qs=";
+    sha256 = "sha256-OmC67pN2BbuGwM43xNDKlsLhwVeUbpvfOazyIDvoMEA=";
   };
 
   propagatedBuildInputs = [
@@ -51,11 +51,7 @@ buildPythonPackage rec {
   ];
 
   postPatch = ''
-    # Remove when the package supports the latest IPFS version by default
-    substituteInPlace ipfshttpclient/client/__init__.py \
-      --replace 'VERSION_MAXIMUM   = "0.8.0"' \
-                'VERSION_MAXIMUM   = "0.9.0"'
-
+    # This can be removed for the 0.8.0 release
     # Use pytest-order instead of pytest-ordering since the latter is unmaintained and broken
     substituteInPlace test/run-tests.py \
       --replace 'pytest_ordering' 'pytest_order'
diff --git a/nixpkgs/pkgs/development/python-modules/ipyparallel/default.nix b/nixpkgs/pkgs/development/python-modules/ipyparallel/default.nix
index 2c5692bf26a9..cc5957d29733 100644
--- a/nixpkgs/pkgs/development/python-modules/ipyparallel/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ipyparallel/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , nose
-, dateutil
+, python-dateutil
 , ipython_genutils
 , decorator
 , pyzmq
@@ -25,7 +25,7 @@ buildPythonPackage rec {
 
   buildInputs = [ nose ];
 
-  propagatedBuildInputs = [ dateutil ipython_genutils decorator pyzmq ipython jupyter_client ipykernel tornado
+  propagatedBuildInputs = [ python-dateutil ipython_genutils decorator pyzmq ipython jupyter_client ipykernel tornado
   ] ++ lib.optionals (!isPy3k) [ futures ];
 
   # Requires access to cluster
diff --git a/nixpkgs/pkgs/development/python-modules/itunespy/default.nix b/nixpkgs/pkgs/development/python-modules/itunespy/default.nix
index 4720101d8177..3bb0bb677bad 100644
--- a/nixpkgs/pkgs/development/python-modules/itunespy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/itunespy/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchFromGitHub, requests, pycountry, mypy }:
+{ lib, buildPythonPackage, fetchFromGitHub, requests, pycountry }:
 
 buildPythonPackage rec {
   pname = "itunespy";
@@ -11,7 +11,7 @@ buildPythonPackage rec {
     sha256 = "0yc3az5531qs8nbcw4rhgrszwczgy4bikfwfar7xb2044360sslw";
   };
 
-  propagatedBuildInputs = [ requests pycountry mypy ];
+  propagatedBuildInputs = [ requests pycountry ];
 
   # This module has no tests
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/javaproperties/default.nix b/nixpkgs/pkgs/development/python-modules/javaproperties/default.nix
index dd3c027bca20..348d83e11059 100644
--- a/nixpkgs/pkgs/development/python-modules/javaproperties/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/javaproperties/default.nix
@@ -1,7 +1,7 @@
 { lib, buildPythonPackage, fetchFromGitHub
 , six
 , pytest
-, dateutil
+, python-dateutil
 }:
 
 buildPythonPackage rec {
@@ -18,7 +18,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ six ];
 
-  checkInputs = [ dateutil pytest ];
+  checkInputs = [ python-dateutil pytest ];
   checkPhase = ''
     rm tox.ini
     pytest -k 'not dumps and not time' --ignore=test/test_propclass.py
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter_client/5.nix b/nixpkgs/pkgs/development/python-modules/jupyter_client/5.nix
index 201fbec02ca5..e4e77cf47510 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter_client/5.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter_client/5.nix
@@ -4,7 +4,7 @@
 , traitlets
 , jupyter_core
 , pyzmq
-, dateutil
+, python-dateutil
 , isPyPy
 , py
 , tornado
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     traitlets
     jupyter_core
     pyzmq
-    dateutil
+    python-dateutil
     tornado
   ] ++ lib.optional isPyPy py;
 
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter_client/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter_client/default.nix
index 5f534557a9ad..fbc37c3f581b 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter_client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter_client/default.nix
@@ -4,7 +4,7 @@
 , traitlets
 , jupyter_core
 , pyzmq
-, dateutil
+, python-dateutil
 , isPyPy
 , py
 , tornado
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     traitlets
     jupyter_core
     pyzmq
-    dateutil
+    python-dateutil
     tornado
   ] ++ lib.optional isPyPy py;
 
diff --git a/nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix
index 108d11853f05..904cd7df0c2a 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix
@@ -7,7 +7,7 @@
 , alembic
 , async_generator
 , certipy
-, dateutil
+, python-dateutil
 , entrypoints
 , jinja2
 , jupyter-telemetry
@@ -115,7 +115,7 @@ buildPythonPackage rec {
     alembic
     async_generator
     certipy
-    dateutil
+    python-dateutil
     entrypoints
     jinja2
     jupyter-telemetry
diff --git a/nixpkgs/pkgs/development/python-modules/koji/default.nix b/nixpkgs/pkgs/development/python-modules/koji/default.nix
index 5f560be4e887..cd3b5ff62c26 100644
--- a/nixpkgs/pkgs/development/python-modules/koji/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/koji/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, buildPythonPackage, isPy3k, pycurl, six, rpm, dateutil }:
+{ lib, fetchurl, buildPythonPackage, isPy3k, pycurl, six, rpm, python-dateutil }:
 
 buildPythonPackage rec {
   pname = "koji";
@@ -10,7 +10,7 @@ buildPythonPackage rec {
     sha256 = "0a3kn3qvspvx15imgzzzjsbvw6bqmbk29apbliqwifa9cj7pvb40";
   };
 
-  propagatedBuildInputs = [ pycurl six rpm dateutil ];
+  propagatedBuildInputs = [ pycurl six rpm python-dateutil ];
 
   # Judging from SyntaxError
   disabled = isPy3k;
diff --git a/nixpkgs/pkgs/development/python-modules/lammps-cython/default.nix b/nixpkgs/pkgs/development/python-modules/lammps-cython/default.nix
deleted file mode 100644
index cf6bdc38ffaa..000000000000
--- a/nixpkgs/pkgs/development/python-modules/lammps-cython/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ lib
-, fetchurl
-, buildPythonPackage
-, lammps-mpi
-, mpi
-, mpi4py
-, numpy
-, cython
-, pymatgen
-, ase
-, pytestrunner
-, isPy3k
-}:
-
-buildPythonPackage rec {
-  pname = "lammps-cython";
-  version = "0.5.7";
-  disabled = (!isPy3k);
-
-  src = fetchurl {
-     url = "https://gitlab.com/costrouc/${pname}/-/archive/v${version}/${pname}-v${version}.tar.gz";
-     sha256 = "1wj9scmjdl00af13b5ihfccrjpikrdgkzd88ialam1nkxvxi42bl";
-  };
-
-  buildInputs = [ cython pytestrunner ];
-  propagatedBuildInputs = [ mpi4py pymatgen ase numpy ];
-
-  preBuild = ''
-    echo "Creating lammps.cfg file..."
-    cat << EOF > lammps.cfg
-    [lammps]
-    lammps_include_dir = ${lammps-mpi}/include
-    lammps_library_dir = ${lammps-mpi}/lib
-    lammps_library = lammps_mpi
-
-    [mpi]
-    mpi_include_dir = ${mpi}/include
-    mpi_library_dir = ${mpi}/lib
-    mpi_library     = mpi
-    EOF
-  '';
-
-  pythonImportsCheck = [ "lammps" ];
-
-  meta = {
-    description = "Pythonic Wrapper to LAMMPS using cython";
-    homepage = "https://gitlab.com/costrouc/lammps-cython";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ costrouc ];
-    # fails import check
-    broken = true;
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/libarcus/default.nix b/nixpkgs/pkgs/development/python-modules/libarcus/default.nix
index a48d70c544c3..7b0b09dcb14c 100644
--- a/nixpkgs/pkgs/development/python-modules/libarcus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/libarcus/default.nix
@@ -3,14 +3,14 @@
 
 buildPythonPackage rec {
   pname = "libarcus";
-  version = "4.9.0";
+  version = "4.10.0";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "Ultimaker";
     repo = "libArcus";
     rev = version;
-    sha256 = "0wq72nf680bwxijjajb4piw563rnvflshmw96kqln4lsny7ydjj2";
+    sha256 = "1ahka8s8fjwymyr7pca7i7h51ikfr35zy4nkzfcjn946x7p0dprf";
   };
 
   disabled = pythonOlder "3.4.0";
diff --git a/nixpkgs/pkgs/development/python-modules/libsavitar/default.nix b/nixpkgs/pkgs/development/python-modules/libsavitar/default.nix
index 7ecd09160fff..e82400b565fd 100644
--- a/nixpkgs/pkgs/development/python-modules/libsavitar/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/libsavitar/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "libsavitar";
-  version = "4.9.0";
+  version = "4.10.0";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "Ultimaker";
     repo = "libSavitar";
     rev = version;
-    sha256 = "0434cb19v9phc9xicbmgpbig18ivplcpqhnsjgca4p8n8c715k9h";
+    sha256 = "1zyzsrdm5aazv12h7ga35amfryrbxdsmx3abvh27hixyh9f92fdp";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/libusb1/default.nix b/nixpkgs/pkgs/development/python-modules/libusb1/default.nix
index cc0ba39e64ef..0d8142645e1b 100644
--- a/nixpkgs/pkgs/development/python-modules/libusb1/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/libusb1/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "libusb1";
-  version = "1.9.2";
+  version = "1.9.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "17hqck808m59jv6m2g4hasnay44pycy3y0im01fq9jpr3ymcdbi7";
+    sha256 = "60e6ce37be064f6e51d02b25da44230ecc9c0b1fdb6f14568c71457d963c1749";
   };
 
   postPatch = ''
@@ -20,9 +20,7 @@ buildPythonPackage rec {
   checkInputs = [ pytest ];
 
   checkPhase = ''
-    # USBPollerThread is unreliable. Let's not test it.
-    # See: https://github.com/vpelletier/python-libusb1/issues/16
-    py.test -k 'not testUSBPollerThreadExit' usb1/testUSB1.py
+    py.test usb1/testUSB1.py
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/liquidctl/default.nix b/nixpkgs/pkgs/development/python-modules/liquidctl/default.nix
index 4b2decb9550c..b543002bc07b 100644
--- a/nixpkgs/pkgs/development/python-modules/liquidctl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/liquidctl/default.nix
@@ -9,18 +9,19 @@
 , smbus-cffi
 , i2c-tools
 , pytestCheckHook
+, colorlog
 }:
 
 buildPythonPackage rec {
   pname = "liquidctl";
-  version = "1.6.1";
+  version = "1.7.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner  = pname;
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "sha256-FYpr1mYzPc0rOE75fUNjxe/57EWl+zcbIbkqFseDhzI=";
+    sha256 = "sha256-tpk8wCKyrj3dOkBxj9UWcyrAb31uKtl2fRwwh7dAQGE=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
@@ -31,6 +32,7 @@ buildPythonPackage rec {
     pyusb
     smbus-cffi
     i2c-tools
+    colorlog
   ];
 
   outputs = [ "out" "man" ];
diff --git a/nixpkgs/pkgs/development/python-modules/lmnotify/default.nix b/nixpkgs/pkgs/development/python-modules/lmnotify/default.nix
index 340e8386a0ea..4e5526a424da 100644
--- a/nixpkgs/pkgs/development/python-modules/lmnotify/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lmnotify/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "lmnotify";
-  version = "0.0.4";
+  version = "0.0.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1l0h4yab7ix8psf65iygc1wy5xwq3v2rwwjixvd8rwk46d2477dx";
+    sha256 = "sha256-cCP7BU2f7QJe9gAI298cvkp3OGijvBv8G1RN7qfZ5PE=";
   };
 
   propagatedBuildInputs = [ oauthlib requests requests_oauthlib ];
diff --git a/nixpkgs/pkgs/development/python-modules/maestral/default.nix b/nixpkgs/pkgs/development/python-modules/maestral/default.nix
index 86794cba4d14..50180f43b8ed 100644
--- a/nixpkgs/pkgs/development/python-modules/maestral/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/maestral/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "maestral";
-  version = "1.4.4";
+  version = "1.4.6";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "SamSchott";
     repo = "maestral";
     rev = "v${version}";
-    sha256 = "03scg4y13jbi8n454hc4vq8p02isbhppqx0zhbady639p7l3ggfg";
+    sha256 = "sha256-kaRcM8Z0xeDp3JYputKZmzTfYYq2oKpF7AM6ciFF7I4=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mailman-rss/default.nix b/nixpkgs/pkgs/development/python-modules/mailman-rss/default.nix
index e2043b0d6d4d..f71b62c67fc4 100644
--- a/nixpkgs/pkgs/development/python-modules/mailman-rss/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mailman-rss/default.nix
@@ -9,7 +9,7 @@ python3Packages.buildPythonApplication rec {
     sha256 = "1brrik70jyagxa9l0cfmlxvqpilwj1q655bphxnvjxyganxf4c00";
   };
 
-  propagatedBuildInputs = with python3Packages; [ dateutil future requests beautifulsoup4 ]
+  propagatedBuildInputs = with python3Packages; [ python-dateutil future requests beautifulsoup4 ]
     ++ lib.optional withTwitter python3Packages.twitter
   ;
 
diff --git a/nixpkgs/pkgs/development/python-modules/malduck/default.nix b/nixpkgs/pkgs/development/python-modules/malduck/default.nix
index a9a8419a04dc..1b757a144ccf 100644
--- a/nixpkgs/pkgs/development/python-modules/malduck/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/malduck/default.nix
@@ -35,8 +35,14 @@ buildPythonPackage rec {
     yara-python
   ];
 
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "pefile==2019.4.18" "pefile"
+  '';
+
   # Project has no tests. They will come with the next release
   doCheck = false;
+
   pythonImportsCheck = [ "malduck" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/matplotlib/2.nix b/nixpkgs/pkgs/development/python-modules/matplotlib/2.nix
index a6ee1a3bade7..96d33b681ebc 100644
--- a/nixpkgs/pkgs/development/python-modules/matplotlib/2.nix
+++ b/nixpkgs/pkgs/development/python-modules/matplotlib/2.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchPypi, writeText, python, buildPythonPackage, pycairo, backports_functools_lru_cache
-, which, cycler, dateutil, nose, numpy, pyparsing, sphinx, tornado, kiwisolver
+, which, cycler, python-dateutil, nose, numpy, pyparsing, sphinx, tornado, kiwisolver
 , freetype, libpng, pkg-config, mock, pytz, pygobject3, gobject-introspection, functools32, subprocess32
 , fetchpatch
 , enableGhostscript ? false, ghostscript, gtk3
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     ++ lib.optional stdenv.isDarwin [ Cocoa ];
 
   propagatedBuildInputs =
-    [ cycler dateutil nose numpy pyparsing tornado freetype kiwisolver
+    [ cycler python-dateutil nose numpy pyparsing tornado freetype kiwisolver
       libpng mock pytz ]
     ++ lib.optional (pythonOlder "3.3") backports_functools_lru_cache
     ++ lib.optionals enableGtk3 [ cairo pycairo gtk3 gobject-introspection pygobject3 ]
diff --git a/nixpkgs/pkgs/development/python-modules/matplotlib/default.nix b/nixpkgs/pkgs/development/python-modules/matplotlib/default.nix
index 75f75e981ce0..beddaf6810dd 100644
--- a/nixpkgs/pkgs/development/python-modules/matplotlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/matplotlib/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchPypi, writeText, buildPythonPackage, isPy3k, pycairo
-, which, cycler, dateutil, numpy, pyparsing, sphinx, tornado, kiwisolver
+, which, cycler, python-dateutil, numpy, pyparsing, sphinx, tornado, kiwisolver
 , freetype, qhull, libpng, pkg-config, mock, pytz, pygobject3, gobject-introspection
 , certifi, pillow
 , enableGhostscript ? true, ghostscript, gtk3
@@ -36,7 +36,7 @@ buildPythonPackage rec {
     ++ lib.optional stdenv.isDarwin [ Cocoa ];
 
   propagatedBuildInputs =
-    [ cycler dateutil numpy pyparsing tornado freetype qhull
+    [ cycler python-dateutil numpy pyparsing tornado freetype qhull
       kiwisolver certifi libpng mock pytz pillow ]
     ++ lib.optionals enableGtk3 [ cairo pycairo gtk3 gobject-introspection pygobject3 ]
     ++ lib.optionals enableTk [ tcl tk tkinter libX11 ]
diff --git a/nixpkgs/pkgs/development/python-modules/matrix-nio/default.nix b/nixpkgs/pkgs/development/python-modules/matrix-nio/default.nix
index 4fad524bfa73..d16260dd57eb 100644
--- a/nixpkgs/pkgs/development/python-modules/matrix-nio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/matrix-nio/default.nix
@@ -28,14 +28,14 @@
 
 buildPythonPackage rec {
   pname = "matrix-nio";
-  version = "0.18.1";
+  version = "0.18.3";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "poljar";
     repo = "matrix-nio";
     rev = version;
-    sha256 = "QHNirglqSxGMmbST96LUp9MHoGj0yAwLoTRlsbMqwaM=";
+    sha256 = "1sjdqzlk8vgv0748ayhnadw1bip3i4bfga4knb94cfkd3s4rgb39";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/mcstatus/default.nix b/nixpkgs/pkgs/development/python-modules/mcstatus/default.nix
index 43906cd95aae..165885c02252 100644
--- a/nixpkgs/pkgs/development/python-modules/mcstatus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mcstatus/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "mcstatus";
-  version = "6.1.0";
+  version = "6.2.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "Dinnerbone";
     repo = pname;
     rev = "v${version}";
-    sha256 = "068dc2ilw1kkvw394vqhqgkia5smnvzaca5zbdd2xyl3nch3rk4x";
+    sha256 = "sha256-o5JVj4Tt5+VOjDC0TDlVuVbDUQPvZGX5Zeoz0vVxPJ8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/md-toc/default.nix b/nixpkgs/pkgs/development/python-modules/md-toc/default.nix
index aaec77a9ace8..e5321430dc52 100644
--- a/nixpkgs/pkgs/development/python-modules/md-toc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/md-toc/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "md-toc";
-  version = "7.2.0";
+  version = "8.0.0";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "frnmst";
     repo = pname;
     rev = version;
-    sha256 = "1v74iddfk5d6170frg89vzrkz9xrycl1f50g59imc7x7g50i6c2x";
+    sha256 = "sha256-w5/oIeA9POth8bMszPH53RK1FM9PhmPdn4w9wxlqQ+g=";
   };
 
   propagatedBuildInputs = [
@@ -26,10 +26,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    substituteInPlace setup.py --replace "fpyutils>=1.2,<1.3" "fpyutils>=1.2"
-  '';
-
   pytestFlagsArray = [ "md_toc/tests/*.py" ];
 
   pythonImportsCheck = [ "md_toc" ];
diff --git a/nixpkgs/pkgs/development/python-modules/mdformat/default.nix b/nixpkgs/pkgs/development/python-modules/mdformat/default.nix
index 159310035b8f..780cafa599db 100644
--- a/nixpkgs/pkgs/development/python-modules/mdformat/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mdformat/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "mdformat";
-  version = "0.7.6";
+  version = "0.7.7";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "executablebooks";
     repo = pname;
     rev = version;
-    sha256 = "0mnbi3vp7zgllpcpf6vrjw9y6jas95shphn99ayr8b8wgxsaqkif";
+    sha256 = "sha256-1qwluHxZnSuyNJENzeJzkuhIQN5njTOch2Wz45J0qRI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/micloud/default.nix b/nixpkgs/pkgs/development/python-modules/micloud/default.nix
new file mode 100644
index 000000000000..3b3bf4484497
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/micloud/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, click
+, requests
+, tzlocal
+}:
+
+buildPythonPackage rec {
+  pname = "micloud";
+  version = "0.3";
+
+  src = fetchFromGitHub {
+    owner = "Squachen";
+    repo = "micloud";
+    rev = "v_${version}";
+    sha256 = "0267zyr79nfb5f9rwdwq3ym258yrpxx1b71xiqmszyz5s83mcixm";
+  };
+
+  propagatedBuildInputs = [
+    click
+    requests
+    tzlocal
+  ];
+
+  # tests require credentials
+  doCheck = false;
+
+  pythonImportsCheck = [ "micloud" ];
+
+  meta = with lib; {
+    description = "Xiaomi cloud connect library";
+    homepage = "https://github.com/Squachen/micloud";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/millheater/default.nix b/nixpkgs/pkgs/development/python-modules/millheater/default.nix
index d6815f53d779..9a329ef26515 100644
--- a/nixpkgs/pkgs/development/python-modules/millheater/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/millheater/default.nix
@@ -2,25 +2,27 @@
 , aiohttp
 , async-timeout
 , buildPythonPackage
+, cryptography
 , fetchFromGitHub
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "millheater";
-  version = "0.4.2";
+  version = "0.5.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "Danielhiversen";
     repo = "pymill";
     rev = version;
-    sha256 = "sha256-B9/nxlPHAPZzbOMQj81CxTEjI03JQxfH8F8vy1E4HIQ=";
+    sha256 = "sha256-uMvCpXz+amb5mR9ebkAit21UFYpsTkjkZRXtmcvWt8k=";
   };
 
   propagatedBuildInputs = [
     aiohttp
     async-timeout
+    cryptography
   ];
 
   # Project has no tests
diff --git a/nixpkgs/pkgs/development/python-modules/msal-extensions/default.nix b/nixpkgs/pkgs/development/python-modules/msal-extensions/default.nix
index 82ef6fc77f03..a673d96893fa 100644
--- a/nixpkgs/pkgs/development/python-modules/msal-extensions/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/msal-extensions/default.nix
@@ -25,12 +25,18 @@ buildPythonPackage rec {
     pathlib2
   ];
 
+  # upstream doesn't update this requirement probably because they use pip
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "portalocker~=1.0" "portalocker"
+  '';
+
   # No tests found
   doCheck = false;
 
   meta = with lib; {
     description = "The Microsoft Authentication Library Extensions (MSAL-Extensions) for Python";
-    homepage = "https://github.com/AzureAD/microsoft-authentication-library-for-python";
+    homepage = "https://github.com/AzureAD/microsoft-authentication-extensions-for-python";
     license = licenses.mit;
     maintainers = with maintainers; [
       kamadorueda
diff --git a/nixpkgs/pkgs/development/python-modules/netmap/default.nix b/nixpkgs/pkgs/development/python-modules/netmap/default.nix
new file mode 100644
index 000000000000..012599216074
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/netmap/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, substituteAll
+, nmap
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "netmap";
+  version = "0.7.0.2";
+
+  src = fetchFromGitHub {
+    owner = "home-assistant-libs";
+    repo = "python-nmap";
+    rev = version;
+    sha256 = "1a44zz9zsxy48ahlpjjrddpyfi7cnfknicfcp35hi588qm430mag";
+  };
+
+  patches = [
+    (substituteAll {
+      src = ./nmap-path.patch;
+      nmap = "${lib.getBin nmap}/bin/nmap";
+    })
+  ];
+
+  # upstream tests require sudo
+  # make sure nmap is found instead
+  checkPhase = ''
+    runHook preCheck
+    ${python.interpreter} -c 'import nmap; nmap.PortScanner()'
+    runHook postCheck
+  '';
+
+  pythonImportsCheck = [ "nmap" ];
+
+  meta = with lib; {
+    description = "Python class to use nmap and access scan results from python3";
+    homepage = "https://github.com/home-assistant-libs/python-nmap";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/netmap/nmap-path.patch b/nixpkgs/pkgs/development/python-modules/netmap/nmap-path.patch
new file mode 100644
index 000000000000..99f9cb43a940
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/netmap/nmap-path.patch
@@ -0,0 +1,17 @@
+diff --git a/nmap/nmap.py b/nmap/nmap.py
+index 91c460d..8c5ff0a 100755
+--- a/nmap/nmap.py
++++ b/nmap/nmap.py
+@@ -77,11 +77,7 @@ class PortScanner(object):
+     def __init__(
+         self,
+         nmap_search_path=(
+-            "nmap",
+-            "/usr/bin/nmap",
+-            "/usr/local/bin/nmap",
+-            "/sw/bin/nmap",
+-            "/opt/local/bin/nmap",
++            "@nmap@",
+         ),
+     ):
+         """
diff --git a/nixpkgs/pkgs/development/python-modules/nipype/default.nix b/nixpkgs/pkgs/development/python-modules/nipype/default.nix
index 3d72748a1e74..078c455a6373 100644
--- a/nixpkgs/pkgs/development/python-modules/nipype/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nipype/default.nix
@@ -4,7 +4,7 @@
 , isPy27
 # python dependencies
 , click
-, dateutil
+, python-dateutil
 , etelemetry
 , filelock
 , funcsigs
@@ -68,7 +68,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     click
-    dateutil
+    python-dateutil
     etelemetry
     filelock
     funcsigs
diff --git a/nixpkgs/pkgs/development/python-modules/nmigen/default.nix b/nixpkgs/pkgs/development/python-modules/nmigen/default.nix
index d42e27a29329..8bd198713a3f 100644
--- a/nixpkgs/pkgs/development/python-modules/nmigen/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nmigen/default.nix
@@ -12,9 +12,9 @@
 
 # for tests
 , pytestCheckHook
-, yosys
 , symbiyosys
 , yices
+, yosys
 }:
 
 buildPythonPackage rec {
@@ -31,22 +31,35 @@ buildPythonPackage rec {
     sha256 = "0cjs9wgmxa76xqmjhsw4fsb2mhgvd85jgs2mrjxqp6fwp8rlgnl1";
   };
 
-  nativeBuildInputs = [ setuptools-scm git ];
+  SETUPTOOLS_SCM_PRETEND_VERSION="${realVersion}";
+
+  nativeBuildInputs = [
+    git
+    setuptools-scm
+  ];
 
   propagatedBuildInputs = [
-    setuptools
-    pyvcd
     jinja2
+    pyvcd
+    setuptools
   ] ++
     lib.optional (pythonOlder "3.9") importlib-resources ++
     lib.optional (pythonOlder "3.8") importlib-metadata;
 
-  checkInputs = [ pytestCheckHook yosys symbiyosys yices ];
+  checkInputs = [
+    pytestCheckHook
+    symbiyosys
+    yices
+    yosys
+  ];
 
-  preBuild = ''
-    export SETUPTOOLS_SCM_PRETEND_VERSION="${realVersion}"
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "Jinja2~=2.11" "Jinja2>=2.11"
   '';
 
+  pythonImportsCheck = [ "nmigen" ];
+
   meta = with lib; {
     description = "A refreshed Python toolbox for building complex digital hardware";
     homepage = "https://nmigen.info/nmigen";
diff --git a/nixpkgs/pkgs/development/python-modules/oci/default.nix b/nixpkgs/pkgs/development/python-modules/oci/default.nix
index 41c6ffb72284..793e23d71135 100644
--- a/nixpkgs/pkgs/development/python-modules/oci/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/oci/default.nix
@@ -5,7 +5,7 @@
 , configparser
 , cryptography
 , pyopenssl
-, dateutil
+, python-dateutil
 , pytz
 }:
 
@@ -28,7 +28,7 @@ buildPythonPackage rec {
   '';
 
   propagatedBuildInputs = [
-    certifi configparser cryptography pyopenssl dateutil pytz
+    certifi configparser cryptography pyopenssl python-dateutil pytz
   ];
 
   # Tests fail: https://github.com/oracle/oci-python-sdk/issues/164
diff --git a/nixpkgs/pkgs/development/python-modules/osmnx/default.nix b/nixpkgs/pkgs/development/python-modules/osmnx/default.nix
index a55d26d83c28..4cc0ce80d4d1 100755
--- a/nixpkgs/pkgs/development/python-modules/osmnx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/osmnx/default.nix
@@ -1,18 +1,19 @@
-{ lib, buildPythonPackage, fetchFromGitHub, geopandas, descartes, matplotlib, networkx, numpy
-, pandas, requests, Rtree, shapely, folium, scikit-learn, scipy}:
+{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder, geopandas, matplotlib, networkx, numpy
+, pandas, requests, Rtree, shapely, folium, scikit-learn, scipy, gdal, rasterio}:
 
 buildPythonPackage rec {
   pname = "osmnx";
-  version = "0.9";
+  version = "1.1.1";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner  = "gboeing";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "1k3y5kl4k93vxaxyanc040x44s2fyyc3m1ndy2j3kg0037z8ad4z";
+    sha256 = "0dkv3fnlq23d7d30lhdf4a313lxy3a5qfldidvszs1z9n16ycnwb";
   };
 
-  propagatedBuildInputs = [ geopandas descartes matplotlib networkx numpy pandas requests Rtree shapely folium scikit-learn scipy ];
+  propagatedBuildInputs = [ geopandas matplotlib networkx numpy pandas requests Rtree shapely folium scikit-learn scipy gdal rasterio ];
 
   # requires network
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/owslib/default.nix b/nixpkgs/pkgs/development/python-modules/owslib/default.nix
index 3ccd3d916b65..ea80fade1411 100644
--- a/nixpkgs/pkgs/development/python-modules/owslib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/owslib/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, dateutil, requests, pytz, pyproj , pytest, pyyaml } :
+{ lib, buildPythonPackage, fetchPypi, python-dateutil, requests, pytz, pyproj , pytest, pyyaml } :
 buildPythonPackage rec {
   pname = "OWSLib";
   version = "0.24.1";
@@ -9,7 +9,7 @@ buildPythonPackage rec {
   };
 
   buildInputs = [ pytest ];
-  propagatedBuildInputs = [ dateutil pyproj pytz requests pyyaml ];
+  propagatedBuildInputs = [ python-dateutil pyproj pytz requests pyyaml ];
 
   # 'tests' dir not included in pypy distribution archive.
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/pandas/2.nix b/nixpkgs/pkgs/development/python-modules/pandas/2.nix
index 8af4094b0cfb..9b29a8442696 100644
--- a/nixpkgs/pkgs/development/python-modules/pandas/2.nix
+++ b/nixpkgs/pkgs/development/python-modules/pandas/2.nix
@@ -8,7 +8,7 @@
 , pytest
 , glibcLocales
 , cython
-, dateutil
+, python-dateutil
 , scipy
 , moto
 , numexpr
@@ -41,7 +41,7 @@ buildPythonPackage rec {
   nativeBuildInputs = [ cython ];
   buildInputs = lib.optional stdenv.isDarwin libcxx;
   propagatedBuildInputs = [
-    dateutil
+    python-dateutil
     scipy
     numexpr
     pytz
@@ -68,7 +68,7 @@ buildPythonPackage rec {
 
 
   disabledTests = lib.concatMapStringsSep " and " (s: "not " + s) ([
-    # since dateutil 0.6.0 the following fails: test_fallback_plural, test_ambiguous_flags, test_ambiguous_compat
+    # since python-dateutil 0.6.0 the following fails: test_fallback_plural, test_ambiguous_flags, test_ambiguous_compat
     # was supposed to be solved by https://github.com/dateutil/dateutil/issues/321, but is not the case
     "test_fallback_plural"
     "test_ambiguous_flags"
diff --git a/nixpkgs/pkgs/development/python-modules/pandas/default.nix b/nixpkgs/pkgs/development/python-modules/pandas/default.nix
index 2d5020168215..b7e237a3e3ba 100644
--- a/nixpkgs/pkgs/development/python-modules/pandas/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pandas/default.nix
@@ -7,7 +7,7 @@
 , beautifulsoup4
 , bottleneck
 , cython
-, dateutil
+, python-dateutil
 , html5lib
 , jinja2
 , lxml
@@ -47,7 +47,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     beautifulsoup4
     bottleneck
-    dateutil
+    python-dateutil
     html5lib
     numexpr
     lxml
diff --git a/nixpkgs/pkgs/development/python-modules/pefile/default.nix b/nixpkgs/pkgs/development/python-modules/pefile/default.nix
index 92a0d064f49c..5cd514c871fc 100644
--- a/nixpkgs/pkgs/development/python-modules/pefile/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pefile/default.nix
@@ -1,24 +1,34 @@
-{ buildPythonPackage
+{ lib
+, buildPythonPackage
 , future
-, fetchPypi
-, lib
+, fetchFromGitHub
+, setuptools-scm
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pefile";
-  version = "2019.4.18";
+  version = "2021.5.24";
+  disabled = pythonOlder "3.6";
 
-  propagatedBuildInputs = [ future ];
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "a5d6e8305c6b210849b47a6174ddf9c452b2888340b8177874b862ba6c207645";
+  src = fetchFromGitHub {
+    owner = "erocarrera";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0qdy88dvy29ixsyfqdcvf3w6rz09vpimk0568i09v1ayhs52p62k";
   };
 
-  # Test data encrypted.
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    future
+  ];
+
+  # Test data encrypted
   doCheck = false;
 
-  # Verify import still works.
   pythonImportsCheck = [ "pefile" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pelican/default.nix b/nixpkgs/pkgs/development/python-modules/pelican/default.nix
index 1ae27b5ecf87..5419407d610e 100644
--- a/nixpkgs/pkgs/development/python-modules/pelican/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pelican/default.nix
@@ -1,7 +1,7 @@
 { lib, buildPythonPackage, fetchFromGitHub, isPy27
 , glibcLocales, git
 , mock, nose, markdown, lxml, typogrify
-, jinja2, pygments, docutils, pytz, unidecode, six, dateutil, feedgenerator
+, jinja2, pygments, docutils, pytz, unidecode, six, python-dateutil, feedgenerator
 , blinker, pillow, beautifulsoup4, markupsafe, pandoc }:
 
 buildPythonPackage rec {
@@ -44,7 +44,7 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    jinja2 pygments docutils pytz unidecode six dateutil feedgenerator
+    jinja2 pygments docutils pytz unidecode six python-dateutil feedgenerator
     blinker pillow beautifulsoup4 markupsafe lxml
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pendulum/default.nix b/nixpkgs/pkgs/development/python-modules/pendulum/default.nix
index 5688090b0958..d432ca271dd7 100644
--- a/nixpkgs/pkgs/development/python-modules/pendulum/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pendulum/default.nix
@@ -1,5 +1,5 @@
 { lib, fetchPypi, buildPythonPackage, pythonOlder
-, dateutil
+, python-dateutil
 , importlib-metadata
 , poetry
 , poetry-core
@@ -22,7 +22,7 @@ buildPythonPackage rec {
   '';
 
   nativeBuildInputs = [ poetry-core ];
-  propagatedBuildInputs = [ dateutil pytzdata ]
+  propagatedBuildInputs = [ python-dateutil pytzdata ]
   ++ lib.optional (pythonOlder "3.5") typing
   ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pep8-naming/default.nix b/nixpkgs/pkgs/development/python-modules/pep8-naming/default.nix
index 5f6ef894d8ff..a23cce431a09 100644
--- a/nixpkgs/pkgs/development/python-modules/pep8-naming/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pep8-naming/default.nix
@@ -1,6 +1,10 @@
-{ lib, fetchPypi, buildPythonPackage, pythonOlder
+{ lib
+, fetchPypi
+, fetchpatch
+, buildPythonPackage
+, flake8
 , flake8-polyfill
-, importlib-metadata
+, python
 }:
 
 buildPythonPackage rec {
@@ -12,10 +16,27 @@ buildPythonPackage rec {
     sha256 = "0937rnk3c2z1jkdmbw9hfm80p5k467q7rqhn6slfiprs4kflgpd1";
   };
 
+  patches = [
+    (fetchpatch {
+      # Fix tests by setting extended-default-ignore to an empty list
+      url = "https://github.com/PyCQA/pep8-naming/commit/6d62db81d7967e123e29673a4796fefec6f06d26.patch";
+      sha256 = "1jpr2dga8sphksik3izyzq9hiszyki691mwnh2rjzd2vpgnv8cxf";
+    })
+  ];
+
   propagatedBuildInputs = [
+    flake8
     flake8-polyfill
-  ] ++ lib.optionals (pythonOlder "3.8") [
-    importlib-metadata
+  ];
+
+  checkPhase = ''
+    runHook preCheck
+    ${python.interpreter} run_tests.py
+    runHook postCheck
+  '';
+
+  pythonImportsCheck = [
+    "pep8ext_naming"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pg8000/default.nix b/nixpkgs/pkgs/development/python-modules/pg8000/default.nix
index 5560e918ac4a..db18611f20aa 100644
--- a/nixpkgs/pkgs/development/python-modules/pg8000/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pg8000/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "pg8000";
-  version = "1.19.5";
+  version = "1.20.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-3LmvucuHrMeTiK5jPEXPf4Bqq+O7XYzxVFcraZOT+Tc=";
+    sha256 = "sha256-SQ7CKpJgHwRUs+1MjU7N3DD2bA4/eD8OzFgQN3SajFU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pillow-simd/default.nix b/nixpkgs/pkgs/development/python-modules/pillow-simd/default.nix
index d7b2ff8d6b36..e2ea4c713888 100644
--- a/nixpkgs/pkgs/development/python-modules/pillow-simd/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pillow-simd/default.nix
@@ -6,15 +6,16 @@
 
 import ../pillow/generic.nix (rec {
   pname = "Pillow-SIMD";
-  version = "8.1.2";
-
+  # check for release version on https://pypi.org/project/Pillow-SIMD/#history
+  # does not match the latest pillow release version!
+  version = "7.0.0.post3";
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
     owner = "uploadcare";
     repo = "pillow-simd";
-    rev = version;
-    sha256 = "1z0c1qpx7l1bhj71ww7za7kl29j5wdraqr2pdhv4dp1q74kgrr0m";
+    rev = "v${version}";
+    sha256 = "1h832xp1bzf951hr4dmjmxqfsv28sx9lr2cq96qdz1c72k40zj1h";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/portalocker/default.nix b/nixpkgs/pkgs/development/python-modules/portalocker/default.nix
index d79f6201b6fd..7b4fc177bc11 100644
--- a/nixpkgs/pkgs/development/python-modules/portalocker/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/portalocker/default.nix
@@ -1,34 +1,27 @@
-{ lib, buildPythonPackage, fetchPypi, fetchpatch
-, sphinx
-, pytest
+{ lib, buildPythonPackage, fetchPypi
+, pytestCheckHook
 , pytestcov
 , pytest-flake8
+, pytest-mypy
+, redis
 }:
 
 buildPythonPackage rec {
-  version = "1.7.0";
+  version = "2.3.0";
   pname = "portalocker";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1p32v16va780mjjdbyp3v702aqg5s618khlila7bdyynis1n84q9";
+    sha256 = "0k08c0qg21mwz3iqbd20ab22nq705q7cal4a1qr8qnd6ga03v4af";
   };
 
-  patches = [
-    # remove pytest-flakes from test dependencies
-    # merged into master, remove > 1.7.0 release
-    (fetchpatch {
-      url = "https://github.com/WoLpH/portalocker/commit/42e4c0a16bbc987c7e33b5cbc7676a63a164ceb5.patch";
-      sha256 = "01mlr41nhh7mh3qhqy5fhp3br4nps745iy4ns9fjcnm5xhabg5rr";
-      excludes = [ "pytest.ini" ];
-    })
+  propagatedBuildInputs = [
+    redis
   ];
 
   checkInputs = [
-    sphinx
-    pytest
-    pytestcov
-    pytest-flake8
+    pytestCheckHook
+    pytest-mypy
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/prov/default.nix b/nixpkgs/pkgs/development/python-modules/prov/default.nix
index acee0f09b848..9844b018518b 100644
--- a/nixpkgs/pkgs/development/python-modules/prov/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/prov/default.nix
@@ -3,7 +3,7 @@
 , fetchPypi
 , lxml
 , networkx
-, dateutil
+, python-dateutil
 , rdflib
 , pydot
 }:
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     lxml
     networkx
-    dateutil
+    python-dateutil
     rdflib
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pubnub/default.nix b/nixpkgs/pkgs/development/python-modules/pubnub/default.nix
index 89dd4d1cbf0e..478782b488c8 100644
--- a/nixpkgs/pkgs/development/python-modules/pubnub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pubnub/default.nix
@@ -13,13 +13,13 @@
 
 buildPythonPackage rec {
   pname = "pubnub";
-  version = "5.1.3";
+  version = "5.1.4";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "python";
     rev = "v${version}";
-    sha256 = "0mpw2wzbpb60lnrsnw8mc88mxxhslpnc5nvkjyc3v2dbqs5cnmy5";
+    sha256 = "sha256-aDmmF3T5v6NX3kut7cydEJNRw4mkrGt4X0+WOm/ZCVo=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pwntools/default.nix b/nixpkgs/pkgs/development/python-modules/pwntools/default.nix
index e6ee7d4f9832..e3422aff024e 100644
--- a/nixpkgs/pkgs/development/python-modules/pwntools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pwntools/default.nix
@@ -14,7 +14,7 @@
 , psutil
 , pyelftools
 , pyserial
-, dateutil
+, python-dateutil
 , requests
 , rpyc
 , tox
@@ -63,7 +63,7 @@ buildPythonPackage rec {
     psutil
     pyelftools
     pyserial
-    dateutil
+    python-dateutil
     requests
     rpyc
     tox
diff --git a/nixpkgs/pkgs/development/python-modules/pyahocorasick/default.nix b/nixpkgs/pkgs/development/python-modules/pyahocorasick/default.nix
index 9ef89c6e920d..87d1d0c9fc01 100644
--- a/nixpkgs/pkgs/development/python-modules/pyahocorasick/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyahocorasick/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "pyahocorasick";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "WojciechMula";
     repo = pname;
     rev = version;
-    sha256 = "0plm9x2gziayjsl7flsgn1z8qx88c9vqm4fs1wq7dv7fr188liik";
+    sha256 = "13x3718if28l50474xrz1b9709kvnvdg3nzm6y8bh7mc9a4zyss5";
   };
 
   checkInputs = [ pytestCheckHook ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyatmo/default.nix b/nixpkgs/pkgs/development/python-modules/pyatmo/default.nix
index 8df35cb39bb9..e313d2b8b054 100644
--- a/nixpkgs/pkgs/development/python-modules/pyatmo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyatmo/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "pyatmo";
-  version = "5.1.0";
+  version = "5.2.0";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "jabesq";
     repo = "pyatmo";
     rev = "v${version}";
-    sha256 = "0szk3wjcrllzvpix66iq3li54pw0c1knlx8wn1z9kqhkrb8r200x";
+    sha256 = "sha256-P9c9tm2RcF/4r0OYBoAQxQbMBaFAsaHg/stg9rrYHNM=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyatv/default.nix b/nixpkgs/pkgs/development/python-modules/pyatv/default.nix
index cf7fd53d1657..cef64c084f2f 100644
--- a/nixpkgs/pkgs/development/python-modules/pyatv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyatv/default.nix
@@ -19,13 +19,13 @@
 
 buildPythonPackage rec {
   pname = "pyatv";
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "postlund";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1slr6l0gw0mf1zhp40bjf5bib45arw1cy4fqkg0gvdk1hx79828m";
+    sha256 = "sha256-/ccmYNOYE+RkJiJbGkQgdYE8/X4xzyRT4dkMa/qSZEc=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pycollada/default.nix b/nixpkgs/pkgs/development/python-modules/pycollada/default.nix
index e8e0809c0222..49dfbf030966 100644
--- a/nixpkgs/pkgs/development/python-modules/pycollada/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycollada/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchPypi, buildPythonPackage, numpy, dateutil }:
+{ lib, fetchPypi, buildPythonPackage, numpy, python-dateutil }:
 
 buildPythonPackage rec {
   pname = "pycollada";
@@ -9,7 +9,7 @@ buildPythonPackage rec {
     sha256 = "1rp4wlvfywgk3v6l3hnhjx61x9yqawvvivpq4dig2jj71k3mpsyj";
   };
 
-  propagatedBuildInputs = [ numpy dateutil ];
+  propagatedBuildInputs = [ numpy python-dateutil ];
 
   # Some tests fail because they refer to test data files that don't exist
   # (upstream packaging issue)
diff --git a/nixpkgs/pkgs/development/python-modules/pydaikin/default.nix b/nixpkgs/pkgs/development/python-modules/pydaikin/default.nix
index 9b2eda85abe5..5eefe5ade5ec 100644
--- a/nixpkgs/pkgs/development/python-modules/pydaikin/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydaikin/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pydaikin";
-  version = "2.4.3";
+  version = "2.4.4";
   disabled = pythonOlder "3.6";
 
   src = fetchFromBitbucket {
     owner = "mustang51";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0i013ma2fs6an3izak6zbs9lbr4l7b5x54d0xagw6gqf5n8dsclq";
+    sha256 = "sha256-G7SShq2zjd9KGM7t1KsAMehqm2onB5cYdcOO3k8Sb30=";
   };
 
   propagatedBuildInputs = [
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     urllib3
   ];
 
-  # while they have tests, they do not run them in their CI and they fail as of 2.4.3
+  # while they have tests, they do not run them in their CI and they fail as of 2.4.4
   # AttributeError: 'DaikinBRP069' object has no attribute 'last_hour_cool_energy_consumption'
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/python-modules/pydes/default.nix b/nixpkgs/pkgs/development/python-modules/pydes/default.nix
index 78f131d42437..0bceaeceaa37 100644
--- a/nixpkgs/pkgs/development/python-modules/pydes/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydes/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchFromGitHub }:
+{ lib, buildPythonPackage, fetchFromGitHub, python }:
 
 buildPythonPackage rec {
   pname = "pydes";
@@ -11,7 +11,9 @@ buildPythonPackage rec {
     sha256 = "0sic8wbyk5azb4d4m6zbc96lfqcw8s2pzcv9nric5yqc751613ww";
   };
 
-  checkPhase = "python test_pydes.py";
+  checkPhase = ''
+    ${python.interpreter} test_pydes.py
+  '';
 
   pythonImportsCheck = [ "pyDes" ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pyeight/default.nix b/nixpkgs/pkgs/development/python-modules/pyeight/default.nix
index b3a2de5ed404..a714bbfaba95 100644
--- a/nixpkgs/pkgs/development/python-modules/pyeight/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyeight/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pyeight";
-  version = "0.1.5";
+  version = "0.1.7";
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
     owner = "mezz64";
     repo = "pyEight";
     rev = version;
-    sha256 = "1wzmjqs8zx611b71ip7a0phyas96vxpq8xpnhrirfi9l09kdjgsw";
+    sha256 = "sha256-kTxd6nRsPvCjrXApjKcoghOISIMho5x9/kK7OvHjKQM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyflick/default.nix b/nixpkgs/pkgs/development/python-modules/pyflick/default.nix
index b1f39353c142..b6a9c2cf96d4 100644
--- a/nixpkgs/pkgs/development/python-modules/pyflick/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyflick/default.nix
@@ -3,7 +3,7 @@
 , pythonOlder
 , fetchPypi
 , aiohttp
-, dateutil
+, python-dateutil
 }:
 
 buildPythonPackage rec {
@@ -20,7 +20,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     aiohttp
-    dateutil
+    python-dateutil
   ];
 
   # no tests implemented
diff --git a/nixpkgs/pkgs/development/python-modules/pyfreedompro/default.nix b/nixpkgs/pkgs/development/python-modules/pyfreedompro/default.nix
new file mode 100644
index 000000000000..f5fd102ed7fc
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyfreedompro/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
+, aiohttp
+}:
+
+buildPythonPackage rec {
+  pname = "pyfreedompro";
+  version = "1.1.0";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "92812070a0c74761fa0c8cac98ddbe0bca781c8de80e2b08dbd04492e831c172";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  # upstream has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "aiohttp" ];
+
+  meta = with lib; {
+    description = "Python library for Freedompro API";
+    homepage = "https://github.com/stefano055415/pyfreedompro";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyfritzhome/default.nix b/nixpkgs/pkgs/development/python-modules/pyfritzhome/default.nix
index 7c0982d490ba..0bfda48269e1 100644
--- a/nixpkgs/pkgs/development/python-modules/pyfritzhome/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyfritzhome/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pyfritzhome";
-  version = "0.6.1";
+  version = "0.6.2";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "hthiery";
     repo = "python-fritzhome";
     rev = version;
-    sha256 = "sha256-CEoXb7D/8Iksw4aJYNqANkmfhd0yxIIuabaTdWI3RNc=";
+    sha256 = "1hwxq9w5qmiky8gpp623nabmydr3yv6hvgzk24fdbmkglfp6ja1v";
   };
 
   propagatedBuildInputs = [ requests ];
@@ -27,7 +27,7 @@ buildPythonPackage rec {
   ];
 
   checkPhase = ''
-    nosetests --with-coverage
+    nosetests
   '';
 
   pythonImportsCheck = [ "pyfritzhome" ];
diff --git a/nixpkgs/pkgs/development/python-modules/pykeepass/default.nix b/nixpkgs/pkgs/development/python-modules/pykeepass/default.nix
index e54a9c6fa20f..5d23949eba62 100644
--- a/nixpkgs/pkgs/development/python-modules/pykeepass/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pykeepass/default.nix
@@ -1,6 +1,6 @@
 { lib, fetchFromGitHub, buildPythonPackage
 , lxml, pycryptodomex, construct
-, argon2_cffi, dateutil, future
+, argon2_cffi, python-dateutil, future
 , python
 }:
 
@@ -21,7 +21,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     lxml pycryptodomex construct
-    argon2_cffi dateutil future
+    argon2_cffi python-dateutil future
   ];
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pykwalify/default.nix b/nixpkgs/pkgs/development/python-modules/pykwalify/default.nix
index b65c0fd46709..cf42c98457cb 100644
--- a/nixpkgs/pkgs/development/python-modules/pykwalify/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pykwalify/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, dateutil
+, python-dateutil
 , docopt
 , fetchPypi
 , pytestCheckHook
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    dateutil
+    python-dateutil
     docopt
     pyyaml
     ruamel-yaml
diff --git a/nixpkgs/pkgs/development/python-modules/pyls-black/default.nix b/nixpkgs/pkgs/development/python-modules/pyls-black/default.nix
index d10e4930ac0c..128c8cbd0de2 100644
--- a/nixpkgs/pkgs/development/python-modules/pyls-black/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyls-black/default.nix
@@ -29,6 +29,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/rupert/pyls-black";
     description = "Black plugin for the Python Language Server";
     license = licenses.mit;
-    maintainers = [ maintainers.mic92 ];
+    maintainers = [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pyls-isort/default.nix b/nixpkgs/pkgs/development/python-modules/pyls-isort/default.nix
index 9dc614035e0e..35b43969e529 100644
--- a/nixpkgs/pkgs/development/python-modules/pyls-isort/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyls-isort/default.nix
@@ -24,6 +24,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/paradoxxxzero/pyls-isort";
     description = "Isort plugin for python-language-server";
     license = licenses.mit;
-    maintainers = [ maintainers.mic92 ];
+    maintainers = [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pyls-mypy/default.nix b/nixpkgs/pkgs/development/python-modules/pyls-mypy/default.nix
index eaf069c8ccb4..f919ac21cb7b 100644
--- a/nixpkgs/pkgs/development/python-modules/pyls-mypy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyls-mypy/default.nix
@@ -46,6 +46,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/tomv564/pyls-mypy";
     description = "Mypy plugin for the Python Language Server";
     license = licenses.mit;
-    maintainers = [ maintainers.mic92 ];
+    maintainers = [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pyls-spyder/default.nix b/nixpkgs/pkgs/development/python-modules/pyls-spyder/default.nix
index 4e0029783eb6..61b0fa7449bc 100644
--- a/nixpkgs/pkgs/development/python-modules/pyls-spyder/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyls-spyder/default.nix
@@ -1,18 +1,29 @@
-{ lib, buildPythonPackage, fetchPypi, python-language-server }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, python-lsp-server
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "pyls-spyder";
   version = "0.4.0";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "45a321c83f64267d82907492c55199fccabda45bc872dd23bf1efd08edac1b0b";
+  src = fetchFromGitHub {
+    owner = "spyder-ide";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "11ajbsia60d4c9s6m6rbvaqp1d69fcdbq6a98lkzkkzv2b9pdhkk";
   };
 
-  propagatedBuildInputs = [ python-language-server ];
+  propagatedBuildInputs = [
+    python-lsp-server
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  # no tests
-  doCheck = false;
   pythonImportsCheck = [ "pyls_spyder" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pymetar/default.nix b/nixpkgs/pkgs/development/python-modules/pymetar/default.nix
index ef5273936cf4..b4ff976c8eac 100644
--- a/nixpkgs/pkgs/development/python-modules/pymetar/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymetar/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "pymetar";
-  version = "1.2";
+  version = "1.3";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f9a8caa21eff5367427da55a469ef396293ae4cc93797ab2f1a66a2924fbdc68";
+    sha256 = "sha256-zhuXOZIIzh5p0CDOsiUNTqeXDoHFcf1BPg868fc7CIg=";
   };
 
   checkPhase = ''
@@ -23,7 +23,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "A command-line tool to show the weather report by a given station ID";
-    homepage = "http://www.schwarzvogel.de/software/pymetar.html";
+    homepage = "https://github.com/klausman/pymetar";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ erosennin ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pync/default.nix b/nixpkgs/pkgs/development/python-modules/pync/default.nix
index 9506b8bae953..0eb13c732d7e 100644
--- a/nixpkgs/pkgs/development/python-modules/pync/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pync/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , isPy27
-, dateutil
+, python-dateutil
 , pkgs
 }:
 
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   };
 
   buildInputs = [ pkgs.coreutils ];
-  propagatedBuildInputs = [ dateutil ];
+  propagatedBuildInputs = [ python-dateutil ];
 
   preInstall = lib.optionalString stdenv.isDarwin ''
     sed -i 's|^\([ ]*\)self.bin_path.*$|\1self.bin_path = "${pkgs.terminal-notifier}/bin/terminal-notifier"|' build/lib/pync/TerminalNotifier.py
diff --git a/nixpkgs/pkgs/development/python-modules/pynest2d/default.nix b/nixpkgs/pkgs/development/python-modules/pynest2d/default.nix
index f3b5b9ba6854..5d6a006634e2 100644
--- a/nixpkgs/pkgs/development/python-modules/pynest2d/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pynest2d/default.nix
@@ -2,7 +2,7 @@
 , pythonOlder, libnest2d, sip_4, clipper }:
 
 buildPythonPackage rec {
-  version = "4.8.0";
+  version = "4.10.0";
   pname = "pynest2d";
   format = "other";
 
@@ -10,7 +10,7 @@ buildPythonPackage rec {
     owner = "Ultimaker";
     repo = "pynest2d";
     rev = version;
-    sha256 = "18dn92vgr4gvf9scfh93yg9bwrhdjvq62di08rpi7pqjrrvq2nvp";
+    sha256 = "03aj0whxj9rs9nz3idld7w4vpmnr6vr40vpwmzcf5w2pi2n4z4lk";
   };
 
   propagatedBuildInputs = [ libnest2d sip_4 clipper ];
diff --git a/nixpkgs/pkgs/development/python-modules/pypoint/default.nix b/nixpkgs/pkgs/development/python-modules/pypoint/default.nix
new file mode 100644
index 000000000000..be487199b38b
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pypoint/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, authlib
+, httpx
+}:
+
+buildPythonPackage rec {
+  pname = "pypoint";
+  version = "2.1.0";
+
+  src = fetchFromGitHub {
+    owner = "fredrike";
+    repo = "pypoint";
+    rev = "v${version}";
+    sha256 = "13p68d2qxfj31lfjv94wzpigjfgjw03yjpl2h16zgxbka2k8zf3x";
+  };
+
+  propagatedBuildInputs = [
+    authlib
+    httpx
+  ];
+
+  # upstream has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "pypoint" ];
+
+  meta = with lib; {
+    description = "API for Minut Point";
+    homepage = "https://github.com/fredrike/pypoint";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyrfxtrx/default.nix b/nixpkgs/pkgs/development/python-modules/pyrfxtrx/default.nix
new file mode 100644
index 000000000000..6b63ac8f9fe2
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyrfxtrx/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pyserial
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pyrfxtrx";
+  version = "0.27.0";
+
+  src = fetchFromGitHub {
+    owner = "Danielhiversen";
+    repo = "pyRFXtrx";
+    rev = version;
+    sha256 = "0nzgy56b2v3bnn9idlb67qkzj4cj5j9v1436ri1y305fqwjy48nm";
+  };
+
+  propagatedBuildInputs = [
+    pyserial
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Library to communicate with the RFXtrx family of devices";
+    homepage = "https://github.com/Danielhiversen/pyRFXtrx";
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyrituals/default.nix b/nixpkgs/pkgs/development/python-modules/pyrituals/default.nix
index d9c8759798d7..6b3b9f91c1e5 100644
--- a/nixpkgs/pkgs/development/python-modules/pyrituals/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyrituals/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pyrituals";
-  version = "0.0.4";
+  version = "0.0.5";
   format = "pyproject";
   disabled = pythonOlder "3.8";
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "milanmeu";
     repo = pname;
     rev = version;
-    sha256 = "sha256-XJoSKGGwLoHMWxPGfXHeLg8VlIH1/j0ktzWe/pjd//0=";
+    sha256 = "sha256-iWJhjAUXkoH3MMJ5PFj2rjIy2e0nn57cRoEF6KMfrQg=";
   };
 
   propagatedBuildInputs = [ aiohttp ];
diff --git a/nixpkgs/pkgs/development/python-modules/pysaml2/default.nix b/nixpkgs/pkgs/development/python-modules/pysaml2/default.nix
index 30fcfc52cba8..5de5ad3a0dbe 100644
--- a/nixpkgs/pkgs/development/python-modules/pysaml2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysaml2/default.nix
@@ -4,7 +4,7 @@
 , fetchFromGitHub
 , substituteAll
 , xmlsec
-, cryptography, defusedxml, pyopenssl, dateutil, pytz, requests, six
+, cryptography, defusedxml, pyopenssl, python-dateutil, pytz, requests, six
 , mock, pyasn1, pymongo, pytest, responses, xmlschema, importlib-resources
 }:
 
@@ -36,7 +36,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     cryptography
-    dateutil
+    python-dateutil
     defusedxml
     importlib-resources
     pyopenssl
diff --git a/nixpkgs/pkgs/development/python-modules/pysyncobj/default.nix b/nixpkgs/pkgs/development/python-modules/pysyncobj/default.nix
index bca2d47320eb..3afdacd18034 100644
--- a/nixpkgs/pkgs/development/python-modules/pysyncobj/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysyncobj/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "pysyncobj";
-  version = "0.3.7";
+  version = "0.3.8";
 
   src = fetchFromGitHub {
     owner = "bakwc";
     repo = "PySyncObj";
     rev = version;
-    sha256 = "0i7gjapaggkfvys4rgd4krpmh6mxwpzv30ngiwb6ddgp8jx0nzxk";
+    sha256 = "sha256-T7ecy5/1eF0pYaOv74SBEp6V6Z23E2b9lo5Q/gig3Cw=";
   };
 
   # Tests require network features
diff --git a/nixpkgs/pkgs/development/python-modules/pytenable/default.nix b/nixpkgs/pkgs/development/python-modules/pytenable/default.nix
index 2482e4230961..5b0dfb29be2b 100644
--- a/nixpkgs/pkgs/development/python-modules/pytenable/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytenable/default.nix
@@ -17,13 +17,13 @@
 
 buildPythonPackage rec {
   pname = "pytenable";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "tenable";
     repo = "pyTenable";
     rev = version;
-    sha256 = "sha256-APwBC1fL5JtYL5E/pabQpwGD1OtFMNPeWi/b9+hbhBE=";
+    sha256 = "sha256-9qkNQ3+yDplPHIXDwlghpJP1f+UoDYObWpPhl6UVtHU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-cases/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-cases/default.nix
index 018ca0c46de9..9bee3808c5a7 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-cases/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-cases/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "pytest-cases";
-  version = "3.6.1";
+  version = "3.6.2";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2009845554d3169dca99a7397d9904e5dbb58726c7417e8c308dda86f8966311";
+    sha256 = "1hipm73s97dx37la57aif1x7myidirfslr1k6apvwyc2929y2lsk";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-rerunfailures/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-rerunfailures/default.nix
index b0b0e2372f41..a643e7dc5a54 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-rerunfailures/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-rerunfailures/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "pytest-rerunfailures";
-  version = "9.1.1";
+  version = "10.1";
 
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1cb11a17fc121b3918414eb5eaf314ee325f2e693ac7cb3f6abf7560790827f2";
+    sha256 = "7617c06de13ee6dd2df9add7e275bfb2bcebbaaf3e450f5937cd0200df824273";
   };
 
   buildInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/python-gitlab/default.nix b/nixpkgs/pkgs/development/python-modules/python-gitlab/default.nix
index 34fbcff42f13..9d06569dfdc3 100644
--- a/nixpkgs/pkgs/development/python-modules/python-gitlab/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-gitlab/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "python-gitlab";
-  version = "2.8.0";
+  version = "2.9.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f3364a8d1e813a0b3e68485db1e1881d8653b0e03b9a41f2c59544fce4930101";
+    sha256 = "sha256-LFGxTN2aaAKDFaKw6IUl03YJZziPmfqlfeiQK0VGW+Y=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-http-client/default.nix b/nixpkgs/pkgs/development/python-modules/python-http-client/default.nix
index f4b19ba379e4..8eece2ed4fee 100644
--- a/nixpkgs/pkgs/development/python-modules/python-http-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-http-client/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "python_http_client";
-  version = "3.3.1";
+  version = "3.3.2";
 
   src = fetchFromGitHub {
     owner = "sendgrid";
     repo = "python-http-client";
     rev = version;
-    sha256 = "0mbcg0vb9v41v7hbvycrxx5wyrf3ysvfgxkix8hn8c4x5l2lmidc";
+    sha256 = "0z7nvfq9wdcprwh88xn9p3vm15gb3ijdc8pxn0a133ini9hxxlpx";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-ipmi/default.nix b/nixpkgs/pkgs/development/python-modules/python-ipmi/default.nix
new file mode 100644
index 000000000000..7f8b8fe58a77
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python-ipmi/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, future
+, mock
+, nose
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "python-ipmi";
+  version = "0.5.1";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "kontron";
+    repo = pname;
+    rev = version;
+    sha256 = "0rcix3q845zsmfj5857kq1r5b8m7m3sad34i23k65m0p58clwdqm";
+  };
+
+  propagatedBuildInputs = [
+    future
+  ];
+
+  checkInputs = [
+    mock
+    nose
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "pyipmi" ];
+
+  meta = with lib; {
+    description = "Python IPMI Library";
+    homepage = "https://github.com/kontron/python-ipmi";
+    license = with licenses; [ lgpl2Plus ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/python-jose/default.nix b/nixpkgs/pkgs/development/python-modules/python-jose/default.nix
index 15c6474cc388..5ba5d9c8ddc0 100644
--- a/nixpkgs/pkgs/development/python-modules/python-jose/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-jose/default.nix
@@ -1,46 +1,50 @@
-{ lib, buildPythonPackage, fetchFromGitHub
-, future, six, ecdsa, rsa
-, pycrypto, pytestcov, pytestrunner, cryptography
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, ecdsa
+, rsa
+, pycrypto
+, pyasn1
+, pycryptodome
+, cryptography
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "python-jose";
-  version = "3.2.0";
+  version = "3.3.0";
 
   src = fetchFromGitHub {
     owner = "mpdavis";
-    repo = "python-jose";
+    repo = pname;
     rev = version;
-    sha256 = "cSPIZrps0xFd4pPcQ4w/jFWOk2XYgd3mtE/sDzlytvY=";
+    sha256 = "sha256-6VGC6M5oyGCOiXcYp6mpyhL+JlcYZKIqOQU9Sm/TkKM=";
   };
 
-  checkInputs = [
+  propagatedBuildInputs = [
+    cryptography
+    ecdsa
+    pyasn1
     pycrypto
+    pycryptodome
+    rsa
+  ];
+
+  checkInputs = [
     pytestCheckHook
-    pytestcov
-    pytestrunner
-    cryptography # optional dependency, but needed in tests
   ];
 
-  # relax ecdsa deps
-  patchPhase = ''
+  postPatch = ''
     substituteInPlace setup.py \
-      --replace 'ecdsa<0.15' 'ecdsa' \
-      --replace 'ecdsa <0.15' 'ecdsa'
+      --replace '"pytest-runner",' ""
   '';
 
-  disabledTests = [
-    # https://github.com/mpdavis/python-jose/issues/176
-    "test_key_too_short"
-  ];
-
-  propagatedBuildInputs = [ future six ecdsa rsa ];
+  pythonImportsCheck = [ "jose" ];
 
   meta = with lib; {
     homepage = "https://github.com/mpdavis/python-jose";
     description = "A JOSE implementation in Python";
     license = licenses.mit;
-    maintainers = [ maintainers.jhhuh ];
+    maintainers = with maintainers; [ jhhuh ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/python-language-server/default.nix b/nixpkgs/pkgs/development/python-modules/python-language-server/default.nix
index daab437c9797..3ed9b75ef91f 100644
--- a/nixpkgs/pkgs/development/python-modules/python-language-server/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-language-server/default.nix
@@ -84,6 +84,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/palantir/python-language-server";
     description = "An implementation of the Language Server Protocol for Python";
     license = licenses.mit;
-    maintainers = [ maintainers.mic92 ];
+    maintainers = [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/python-lsp-jsonrpc/default.nix b/nixpkgs/pkgs/development/python-modules/python-lsp-jsonrpc/default.nix
new file mode 100644
index 000000000000..6938bc282f88
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python-lsp-jsonrpc/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, ujson
+}:
+
+buildPythonPackage rec {
+  pname = "python-lsp-jsonrpc";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "python-lsp";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0h4bs8s4axcm0p02v59amz9sq3nr4zhzdgwq7iaw6awl27v1hd0i";
+  };
+
+  propagatedBuildInputs = [
+    ujson
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov-report html --cov-report term --junitxml=pytest.xml" "" \
+      --replace "--cov pylsp_jsonrpc --cov test" ""
+  '';
+
+  pythonImportsCheck = [ "pylsp_jsonrpc" ];
+
+  meta = with lib; {
+    description = "Python server implementation of the JSON RPC 2.0 protocol.";
+    homepage = "https://github.com/python-lsp/python-lsp-jsonrpc";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/python-lsp-server/default.nix b/nixpkgs/pkgs/development/python-modules/python-lsp-server/default.nix
new file mode 100644
index 000000000000..6a2c396ecf89
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python-lsp-server/default.nix
@@ -0,0 +1,81 @@
+{ lib
+, autopep8
+, buildPythonPackage
+, fetchFromGitHub
+, flake8
+, flaky
+, jedi
+, matplotlib
+, mccabe
+, numpy
+, pandas
+, pluggy
+, pycodestyle
+, pydocstyle
+, pyflakes
+, pylint
+, pyqt5
+, pytestCheckHook
+, python-lsp-jsonrpc
+, pythonOlder
+, rope
+, ujson
+, yapf
+}:
+
+buildPythonPackage rec {
+  pname = "python-lsp-server";
+  version = "1.1.0";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "python-lsp";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1akdpfnylqg2mcwpkqmdwcg6j6hab23slp5rfjfidhphig2f2yjv";
+  };
+
+  propagatedBuildInputs = [
+    autopep8
+    flake8
+    jedi
+    mccabe
+    pluggy
+    pycodestyle
+    pydocstyle
+    pyflakes
+    pylint
+    python-lsp-jsonrpc
+    rope
+    ujson
+    yapf
+  ];
+
+  checkInputs = [
+    flaky
+    matplotlib
+    numpy
+    pandas
+    pyqt5
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov-report html --cov-report term --junitxml=pytest.xml" "" \
+      --replace "--cov pylsp --cov test" ""
+  '';
+
+  preCheck = ''
+    export HOME=$(mktemp -d);
+  '';
+
+  pythonImportsCheck = [ "pylsp" ];
+
+  meta = with lib; {
+    description = "Python implementation of the Language Server Protocol";
+    homepage = "https://github.com/python-lsp/python-lsp-server";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/python-pidfile/default.nix b/nixpkgs/pkgs/development/python-modules/python-pidfile/default.nix
new file mode 100644
index 000000000000..7ba39341516e
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python-pidfile/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, psutil
+}:
+
+buildPythonPackage rec {
+  pname = "python-pidfile";
+  version = "3.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-HhCX30G8dfV0WZ/++J6LIO/xvfyRkdPtJkzC2ulUKdA=";
+  };
+
+  propagatedBuildInputs = [
+    psutil
+  ];
+
+  pythonImportsCheck = [ "pidfile" ];
+
+  # no tests on the github mirror of the source code
+  # see this: https://github.com/mosquito/python-pidfile/issues/7
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Python context manager for managing pid files";
+    homepage = "https://github.com/mosquito/python-pidfile";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ legendofmiracles ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/python-pkcs11/default.nix b/nixpkgs/pkgs/development/python-modules/python-pkcs11/default.nix
new file mode 100644
index 000000000000..d0d4b4e98d39
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python-pkcs11/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, asn1crypto
+, buildPythonPackage
+, cached-property
+, cython
+, fetchFromGitHub
+, setuptools-scm
+}:
+
+buildPythonPackage rec {
+  pname = "python-pkcs11";
+  version = "0.7.0";
+
+  src = fetchFromGitHub {
+    owner = "danni";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0kncbipfpsb7m7mhv5s5b9wk604h1j08i2j26fn90pklgqll0xhv";
+  };
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    cython
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    cached-property
+    asn1crypto
+  ];
+
+  # Test require additional setup
+  doCheck = false;
+
+  pythonImportsCheck = [ "pkcs11" ];
+
+  meta = with lib; {
+    description = "PKCS#11/Cryptoki support for Python";
+    homepage = "https://github.com/danni/python-pkcs11";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/python-songpal/default.nix b/nixpkgs/pkgs/development/python-modules/python-songpal/default.nix
new file mode 100644
index 000000000000..180e5b3d833e
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python-songpal/default.nix
@@ -0,0 +1,68 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, fetchpatch
+, poetry-core
+, aiohttp
+, async-upnp-client
+, attrs
+, click
+, importlib-metadata
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "python-songpal";
+  version = "0.13";
+
+  format = "pyproject";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "rytilahti";
+    repo = "python-songpal";
+    rev = version;
+    sha256 = "124w6vfn992845k09bjv352havk8pg590b135m37h1x1m7fmbpwa";
+  };
+
+  patches = [
+    # https://github.com/rytilahti/python-songpal/pull/90
+    (fetchpatch {
+      name = "switch-to-poetry-core.patch";
+      url = "https://github.com/rytilahti/python-songpal/commit/56b634790d94b2f9788d5af3d5cedff47f1e42c2.patch";
+      sha256 = "0yc0mrb91ywk77nd4mxvyc0p2kjz2w1p395755a32ls30zw2bs27";
+    })
+  ];
+
+  postPatch = ''
+    # https://github.com/rytilahti/python-songpal/issues/91
+    substituteInPlace pyproject.toml \
+      --replace 'click = "^7"' 'click = "*"'
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    async-upnp-client
+    attrs
+    click
+    importlib-metadata
+  ];
+
+  # no tests implemented
+  doCheck = false;
+
+  pythonImportsCheck = [ "songpal" ];
+
+  meta = with lib; {
+    description = "Python library for interfacing with Sony's Songpal devices";
+    homepage = "https://github.com/rytilahti/python-songpal";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/python-telegram-bot/default.nix b/nixpkgs/pkgs/development/python-modules/python-telegram-bot/default.nix
index 4d223c548388..6ddc4543d3d0 100644
--- a/nixpkgs/pkgs/development/python-modules/python-telegram-bot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-telegram-bot/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "python-telegram-bot";
-  version = "13.6";
+  version = "13.7";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "37cfe8faba16fb68a8b5ab41a10e787c385f6296200c84256cc54d7c16334643";
+    sha256 = "sha256-JN91RZ4zW5a6/6aZFnn4RL1CaXivWmnKQZoKxDpAYCw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python3-saml/default.nix b/nixpkgs/pkgs/development/python-modules/python3-saml/default.nix
index 00774cc40f88..af57357d11c9 100644
--- a/nixpkgs/pkgs/development/python-modules/python3-saml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python3-saml/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, fetchFromGitHub, buildPythonPackage, isPy3k,
+{ lib, fetchpatch, fetchFromGitHub, buildPythonPackage, isPy3k,
 isodate, lxml, xmlsec, freezegun }:
 
 buildPythonPackage rec {
@@ -13,14 +13,21 @@ buildPythonPackage rec {
     sha256 = "1yk02xq90bm7p6k091av6gapb5h2ccxzgrbm03sj2x8h0wff9s8k";
   };
 
+  # Remove both patches on update
   patches = [
     # Remove the dependency on defusedxml
     #
     # This patch is already merged upstream and does not introduce any
     # functionality changes.
-    (fetchurl {
+    (fetchpatch {
       url = "https://github.com/onelogin/python3-saml/commit/4b6c4b1f2ed3f6eab70ff4391e595b808ace168c.patch";
-      sha256 = "11gqn7ib2hmlx5wp4xhi375v5ajapwmj4lpw0y44bh5ww8cypvqy";
+      sha256 = "sha256-KHyAoX3our3Rz2z4xo0lTBB1XOGuC3Pe+lUDCzK5WQI=";
+    })
+
+    # Update expiry dates for test response XMLs
+    (fetchpatch {
+      url = "https://github.com/onelogin/python3-saml/commit/05611bbf6d7d8313adb9c77ff88a9210333ccc38.patch";
+      sha256 = "sha256-62TwgCXDFYsZIAeqAysJRziMvhUVhGzta/C2wS3v4HY=";
     })
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pytibber/default.nix b/nixpkgs/pkgs/development/python-modules/pytibber/default.nix
index c6bf0e4aef6a..e036197a1eca 100644
--- a/nixpkgs/pkgs/development/python-modules/pytibber/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytibber/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pytibber";
-  version = "0.18.0";
+  version = "0.19.0";
 
   disabled = pythonOlder "3.7";
 
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "Danielhiversen";
     repo = "pyTibber";
     rev = version;
-    sha256 = "sha256-612BBDgVcdpOsEl2Hc+oCDFmSPGjHvfmVr7i7zdfB/o=";
+    sha256 = "sha256-9xKt6OspdM7zWbVzjtvDPYuGyIW3K6ioASt53LOgdvk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytile/default.nix b/nixpkgs/pkgs/development/python-modules/pytile/default.nix
index 0d269522e1a0..cf445fd96815 100644
--- a/nixpkgs/pkgs/development/python-modules/pytile/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytile/default.nix
@@ -8,23 +8,25 @@
 , pytest-aiohttp
 , pytest-asyncio
 , pytestCheckHook
-, pythonAtLeast
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pytile";
-  version = "5.2.1";
+  version = "5.2.2";
+  format = "pyproject";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "0d63xga4gjlfl9fzv3i4j605rrx2qgbzam6cl609ny96s8q8h1px";
+    sha256 = "sha256-oVtTR5zucYvnaPO0i4sEBBU4nafq7GUfx3kPdSvptDo=";
   };
 
-  format = "pyproject";
-
-  nativeBuildInputs = [ poetry-core ];
+  nativeBuildInputs = [
+    poetry-core
+  ];
 
   propagatedBuildInputs = [
     aiohttp
@@ -38,8 +40,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  # Ignore the examples as they are prefixed with test_
-  pytestFlagsArray = [ "--ignore examples/" ];
+  disabledTestPaths = [
+    # Ignore the examples as they are prefixed with test_
+    "examples/"
+  ];
+
   pythonImportsCheck = [ "pytile" ];
 
   __darwinAllowLocalNetworking = true;
diff --git a/nixpkgs/pkgs/development/python-modules/pytomlpp/default.nix b/nixpkgs/pkgs/development/python-modules/pytomlpp/default.nix
index 19edd7057eb4..d2fc8470d487 100644
--- a/nixpkgs/pkgs/development/python-modules/pytomlpp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytomlpp/default.nix
@@ -4,7 +4,7 @@
 , pythonOlder
 , pybind11
 , pytestCheckHook
-, dateutil
+, python-dateutil
 , doxygen
 , python
 , pelican
@@ -28,7 +28,7 @@ buildPythonPackage rec {
   checkInputs = [
     pytestCheckHook
 
-    dateutil
+    python-dateutil
     doxygen
     python
     pelican
diff --git a/nixpkgs/pkgs/development/python-modules/pytube/default.nix b/nixpkgs/pkgs/development/python-modules/pytube/default.nix
index 9cedb1ac944c..62824354c670 100644
--- a/nixpkgs/pkgs/development/python-modules/pytube/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytube/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pytube";
-  version = "10.8.5";
+  version = "10.9.0";
 
   disabled = pythonOlder "3.6";
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "pytube";
     repo = "pytube";
     rev = "v${version}";
-    sha256 = "05w2jlrm1kqki3yq4ssf3ydmy0sf4zcychz94wxsppgr2xrghnhn";
+    sha256 = "sha256-9kKazy0Fg3YcNIkzgVFQ46Ipn3Dngfnh5DjwRP/fZGg=";
   };
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyvex/default.nix b/nixpkgs/pkgs/development/python-modules/pyvex/default.nix
index b2696b101b42..b2f43db50cf9 100644
--- a/nixpkgs/pkgs/development/python-modules/pyvex/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyvex/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "pyvex";
-  version = "9.0.8021";
+  version = "9.0.8761";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Bx6A258LgmmRBbrwY2pgf0DXdMwh9QjaA4sVbxj+kBo=";
+    sha256 = "sha256-3aLpMiOJfgELfnpqTyXAL6Uofbm4UW4VRRsYzTTAofg=";
   };
 
   postPatch = lib.optionalString stdenv.isDarwin ''
diff --git a/nixpkgs/pkgs/development/python-modules/qcelemental/default.nix b/nixpkgs/pkgs/development/python-modules/qcelemental/default.nix
index 7d1dcdeb1c7b..3a3e9bced050 100644
--- a/nixpkgs/pkgs/development/python-modules/qcelemental/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qcelemental/default.nix
@@ -1,34 +1,19 @@
-{ buildPythonPackage, lib, fetchPypi, fetchpatch, numpy
+{ buildPythonPackage, lib, fetchPypi, numpy
 , pydantic, pint,  networkx, pytestrunner, pytestcov, pytest
 } :
 
 buildPythonPackage rec {
   pname = "qcelemental";
-  version = "0.20.0";
+  version = "0.21.0";
 
   checkInputs = [ pytestrunner pytestcov pytest ];
   propagatedBuildInputs = [ numpy pydantic pint networkx ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "141vw36fmacj897q26kq2bl9l0d23lyqjfry6q46aa9087dcs7ni";
+    sha256 = "1b3c78fxbpnddrm1fnbvv4x2840jcfjg2l5cb5w4p38vzksiv238";
   };
 
-  # FIXME: Fixed upstream but not released yet. Nevertheless critical for correct behaviour.
-  # See https://github.com/MolSSI/QCElemental/pull/265
-  patches = [
-    (fetchpatch {
-      name = "SearchPath1.patch";
-      url = "https://github.com/MolSSI/QCElemental/commit/2211a4e59690bcb14265a60f199a5efe74fe44db.diff";
-      sha256 = "1ibjvmdrc103jdj79xrr11y5yji5hc966rm4ihfhfzgbvfkbjg2l";
-    })
-    (fetchpatch {
-      name = "SearchPath2.patch";
-      url = "https://github.com/MolSSI/QCElemental/commit/5a32ce33e8142047b0a00d0036621fe2750e872a.diff";
-      sha256 = "0gmg70vdps7k6alqclwdlxkli9d8s1fphbdvyl8wy8xrh46jw6rk";
-    })
-  ];
-
   doCheck = true;
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/rainbowstream/default.nix b/nixpkgs/pkgs/development/python-modules/rainbowstream/default.nix
index e484c07f31ca..02c948fd405a 100644
--- a/nixpkgs/pkgs/development/python-modules/rainbowstream/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rainbowstream/default.nix
@@ -8,7 +8,7 @@
 , pyfiglet
 , requests
 , arrow
-, dateutil
+, python-dateutil
 , pysocks
 , pocket
 }:
@@ -42,7 +42,7 @@ buildPythonPackage rec {
     done
   '';
 
-  buildInputs =  [ pkgs.libjpeg pkgs.freetype pkgs.zlib pkgs.glibcLocales pillow twitter pyfiglet requests arrow dateutil pysocks pocket ];
+  buildInputs =  [ pkgs.libjpeg pkgs.freetype pkgs.zlib pkgs.glibcLocales pillow twitter pyfiglet requests arrow python-dateutil pysocks pocket ];
 
   meta = with lib; {
     description = "Streaming command-line twitter client";
diff --git a/nixpkgs/pkgs/development/python-modules/rasterio/default.nix b/nixpkgs/pkgs/development/python-modules/rasterio/default.nix
index 236970a5d343..85d5d5d0b7d8 100644
--- a/nixpkgs/pkgs/development/python-modules/rasterio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rasterio/default.nix
@@ -2,23 +2,24 @@
 , cython, setuptools
 , numpy, affine, attrs, cligj, click-plugins, snuggs, gdal
 , pytest, pytestcov, packaging, hypothesis, boto3, mock
+, certifi, shapely
 }:
 
 buildPythonPackage rec {
   pname = "rasterio";
-  version = "1.1.5";
+  version = "1.2.6";
 
   # Pypi doesn't ship the tests, so we fetch directly from GitHub
   src = fetchFromGitHub {
     owner = "mapbox";
     repo = "rasterio";
     rev = version;
-    sha256 = "168b6hmx026jsvhnq6s5k0qfhzda02mmx1alax6wqk16mk63mqcz";
+    sha256 = "sha256-rf2qdUhbS4Z2+mvlN1RzZvlgTgjqiBoQzry4z5QLSUc=";
   };
 
-  checkInputs = [ boto3 pytest pytestcov packaging hypothesis ] ++ lib.optional (!isPy3k) mock;
+  checkInputs = [ boto3 pytest pytestcov packaging hypothesis shapely ] ++ lib.optional (!isPy3k) mock;
   nativeBuildInputs = [ cython gdal ];
-  propagatedBuildInputs = [ gdal numpy attrs affine cligj click-plugins snuggs setuptools ];
+  propagatedBuildInputs = [ certifi gdal numpy attrs affine cligj click-plugins snuggs setuptools ];
 
   meta = with lib; {
     description = "Python package to read and write geospatial raster data";
diff --git a/nixpkgs/pkgs/development/python-modules/regenmaschine/default.nix b/nixpkgs/pkgs/development/python-modules/regenmaschine/default.nix
index 02ac2da96726..e19c744ba655 100644
--- a/nixpkgs/pkgs/development/python-modules/regenmaschine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/regenmaschine/default.nix
@@ -7,33 +7,37 @@
 , poetry-core
 , pytest-aiohttp
 , pytest-asyncio
-, pytest-cov
 , pytest-mock
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "regenmaschine";
-  version = "3.1.2";
+  version = "3.1.3";
   format = "pyproject";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "sha256-lARti3Sb/jh7h8x+lFLqkM/BlL6XmELm46owsL041Cw=";
+    sha256 = "sha256-3Q0JQQVspzuQQAn3S46uFbOYW2zQ7c1UL4zjEOnifDY=";
   };
 
-  nativeBuildInputs = [ poetry-core ];
+  nativeBuildInputs = [
+    poetry-core
+  ];
 
-  propagatedBuildInputs = [ aiohttp ];
+  propagatedBuildInputs = [
+    aiohttp
+  ];
 
   checkInputs = [
     aresponses
     asynctest
     pytest-aiohttp
     pytest-asyncio
-    pytest-cov
     pytest-mock
     pytestCheckHook
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/requests-pkcs12/default.nix b/nixpkgs/pkgs/development/python-modules/requests-pkcs12/default.nix
index c58e8a926c82..29d7b85f9e6e 100644
--- a/nixpkgs/pkgs/development/python-modules/requests-pkcs12/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/requests-pkcs12/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "requests-pkcs12";
-  version = "1.9";
+  version = "1.10";
 
   src = fetchFromGitHub {
     owner = "m-click";
     repo = "requests_pkcs12";
     rev = version;
-    sha256 = "09nm3c6v911d1vwwi0f7mzapbkq7rnsl7026pb13j6ma8pkxznms";
+    sha256 = "sha256-HIUCzHxOsbk1OmcxkRK9GQ+SZ6Uf1xDylOe2pUYz3Hk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/sacn/default.nix b/nixpkgs/pkgs/development/python-modules/sacn/default.nix
index 46678504cab6..e4e14bc93e5b 100644
--- a/nixpkgs/pkgs/development/python-modules/sacn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sacn/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "sacn";
-  version = "1.6.4";
+  version = "1.7.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1abkalzpy8bj2hpx563bxii5h0gv9v89f0yp9clc1l76amyf6dj2";
+    sha256 = "136gw09av7r2y02q7aam4chhivpbwkdskwwavrl5v0zn34y0axwp";
   };
 
   # no tests
diff --git a/nixpkgs/pkgs/development/python-modules/scp/default.nix b/nixpkgs/pkgs/development/python-modules/scp/default.nix
index e0c6769b07d7..7bd426706886 100644
--- a/nixpkgs/pkgs/development/python-modules/scp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scp/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "scp";
-  version = "0.13.4";
+  version = "0.13.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e60948dd3e1aa13da21aa1bf8a025fabbbc2816ed04f1a1272410247d1a86f15";
+    sha256 = "sha256-CrLukXi4vlPcXJ/i8zdh4BokNQh/XJ+1tUUZhzxlDWA=";
   };
 
   propagatedBuildInputs = [
@@ -25,10 +25,12 @@ buildPythonPackage rec {
   #The Pypi package doesn't include the test
   doCheck = false;
 
+  pythonImportsCheck = [ "scp" ];
+
   meta = with lib; {
     homepage = "https://github.com/jbardin/scp.py";
     description = "SCP module for paramiko";
-    license = licenses.lgpl3;
+    license = licenses.lgpl21Only;
     maintainers = with maintainers; [ xnaveira ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/selenium/default.nix b/nixpkgs/pkgs/development/python-modules/selenium/default.nix
index 370d25489809..7a1d1439c1f7 100644
--- a/nixpkgs/pkgs/development/python-modules/selenium/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/selenium/default.nix
@@ -49,7 +49,7 @@ buildPythonPackage rec {
   '';
 
   passthru.tests = {
-    testing-bitwarden = nixosTests.bitwarden;
+    testing-vaultwarden = nixosTests.vaultwarden;
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/simber/default.nix b/nixpkgs/pkgs/development/python-modules/simber/default.nix
index d1471286bb84..331f84252cee 100644
--- a/nixpkgs/pkgs/development/python-modules/simber/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/simber/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "simber";
-  version = "0.2.2";
+  version = "0.2.3";
 
   src = fetchFromGitHub {
     owner = "deepjyoti30";
     repo = pname;
     rev = version;
-    sha256 = "0ksc2m61j5ijj0sq6kkc0hhkmfy9f51h9z3cl2sf8g6wbr9vc47h";
+    sha256 = "04dp9b4s7zb166vlacsaypc6iw1p75azqas1wf0flp570qqf3rkx";
   };
 
   propagatedBuildInputs = [ colorama ];
diff --git a/nixpkgs/pkgs/development/python-modules/sipsimple/default.nix b/nixpkgs/pkgs/development/python-modules/sipsimple/default.nix
index 838ffd471840..34b95fe781d9 100644
--- a/nixpkgs/pkgs/development/python-modules/sipsimple/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sipsimple/default.nix
@@ -5,7 +5,7 @@
 , pkgs
 , cython
 , dnspython
-, dateutil
+, python-dateutil
 , xcaplib
 , msrplib
 , lxml
@@ -34,7 +34,7 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ pkgs.pkg-config ];
   buildInputs = with pkgs; [ alsa-lib ffmpeg_3 libv4l sqlite libvpx ];
-  propagatedBuildInputs = [ cython pkgs.openssl dnspython dateutil xcaplib msrplib lxml python-otr ];
+  propagatedBuildInputs = [ cython pkgs.openssl dnspython python-dateutil xcaplib msrplib lxml python-otr ];
 
   meta = with lib; {
     description = "SIP SIMPLE implementation for Python";
diff --git a/nixpkgs/pkgs/development/python-modules/skidl/default.nix b/nixpkgs/pkgs/development/python-modules/skidl/default.nix
index 3d2007732e8c..3b4f42c1feee 100644
--- a/nixpkgs/pkgs/development/python-modules/skidl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/skidl/default.nix
@@ -1,36 +1,28 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, requests
 , future
 , kinparse
-, enum34
 , pyspice
 , graphviz
-, pillow
-, cffi
 }:
 
 buildPythonPackage rec {
   pname = "skidl";
-  version = "unstable-2020-09-15";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "xesscorp";
     repo = "skidl";
-    rev = "551bdb92a50c0894b0802c0a89b4cb62a5b4038f";
-    sha256 = "1g65cyxpkqshgsggav2q3f76rbj5pzh7sacyhmhzvfz4zfarkcxk";
+    rev = version;
+    sha256 = "1m0hllvmr5nkl4zy8yyzfgw9zmbrrzd5pw87ahd2mq68fjpcaqq5";
   };
 
   propagatedBuildInputs = [
-    requests
     future
     kinparse
-    enum34
     pyspice
     graphviz
-    pillow
-    cffi
   ];
 
   # Checks require availability of the kicad symbol libraries.
@@ -38,8 +30,8 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "skidl" ];
 
   meta = with lib; {
-    description = "SKiDL is a module that extends Python with the ability to design electronic circuits";
-    homepage = "https://xesscorp.github.io/skidl/docs/_site/";
+    description = "Module that extends Python with the ability to design electronic circuits";
+    homepage = "https://xess.com/skidl/docs/_site/";
     license = licenses.mit;
     maintainers = with maintainers; [ matthuszagh ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/smart-meter-texas/default.nix b/nixpkgs/pkgs/development/python-modules/smart-meter-texas/default.nix
new file mode 100644
index 000000000000..abdcd7317bc5
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/smart-meter-texas/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, aiohttp
+, python-dateutil
+, tenacity
+}:
+
+buildPythonPackage rec {
+  pname = "smart-meter-texas";
+  version = "0.4.3";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "grahamwetzler";
+    repo = "smart-meter-texas";
+    rev = "v${version}";
+    sha256 = "09n03wbyjh1b1gsiibf17fg86x7k1i1r1kpp94p7w1lcdbmn8v5c";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "pytest-runner" ""
+  '';
+
+  propagatedBuildInputs = [
+    aiohttp
+    python-dateutil
+    tenacity
+  ];
+
+  # no tests implemented
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Connect to and retrieve data from the unofficial Smart Meter Texas API";
+    homepage = "https://github.com/grahamwetzler/smart-meter-texas";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/smarthab/default.nix b/nixpkgs/pkgs/development/python-modules/smarthab/default.nix
new file mode 100644
index 000000000000..f26e294b938f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/smarthab/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, aiohttp
+}:
+
+buildPythonPackage rec {
+  pname = "smarthab";
+  version = "0.21";
+
+  src = fetchPypi {
+    pname = "SmartHab";
+    inherit version;
+    sha256 = "bf929455a2f7cc1e275b331de73d983587138a8d9179574988ba05fa152d3ccf";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  # no tests on PyPI, no tags on GitLab
+  doCheck = false;
+
+  pythonImportsCheck = [ "pysmarthab" ];
+
+  meta = with lib; {
+    description = "Control devices in a SmartHab-powered home";
+    homepage = "https://gitlab.com/outadoc/python-smarthab";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/somfy-mylink-synergy/default.nix b/nixpkgs/pkgs/development/python-modules/somfy-mylink-synergy/default.nix
new file mode 100644
index 000000000000..b0fa5948c0da
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/somfy-mylink-synergy/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+}:
+
+buildPythonPackage rec {
+  pname = "somfy-mylink-synergy";
+  version = "1.0.6";
+
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "bendews";
+    repo = "somfy-mylink-synergy";
+    rev = "v${version}";
+    sha256 = "1aa178b5lxdzfa4z7sjw6ky39dkfazp7dqs9dq78z2zay2sqgmgr";
+  };
+
+  # no tests implemented
+  doCheck = false;
+
+  pythonImportsCheck = [ "somfy_mylink_synergy" ];
+
+  meta = with lib; {
+    description = "Python API to utilise the Somfy Synergy JsonRPC API";
+    homepage = "https://github.com/bendews/somfy-mylink-synergy";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/sonarr/default.nix b/nixpkgs/pkgs/development/python-modules/sonarr/default.nix
new file mode 100644
index 000000000000..9f73522def4d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/sonarr/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, aiohttp
+, yarl
+, aresponses
+, pytest-asyncio
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "sonarr";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    owner = "ctalkington";
+    repo = "python-sonarr";
+    rev = version;
+    sha256 = "0gi34951qhzzrq59hj93mnkid8cvvknlamkhir6ya9mb23fr7bya";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    yarl
+  ];
+
+  checkInputs = [
+    aresponses
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "sonarr" ];
+
+  meta = with lib; {
+    description = "Asynchronous Python client for the Sonarr API";
+    homepage = "https://github.com/ctalkington/python-sonarr";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/splinter/default.nix b/nixpkgs/pkgs/development/python-modules/splinter/default.nix
index 1ae05cab9738..cb63f8d11ba4 100644
--- a/nixpkgs/pkgs/development/python-modules/splinter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/splinter/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "splinter";
-  version = "0.14.0";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "cobrateam";
     repo = "splinter";
     rev = version;
-    sha256 = "0480bqprv8581cvnc80ls91rz9780wvdnfw99zsw44hvy2yg15a6";
+    sha256 = "sha256-y87Cnci4gJHrttThGPeOS/h6VK8x95cQA9nZs1fBfAw=";
   };
 
   propagatedBuildInputs = [
@@ -32,6 +32,7 @@ buildPythonPackage rec {
     "samples"
     "tests/test_djangoclient.py"
     "tests/test_flaskclient.py"
+    "tests/test_popups.py"
     "tests/test_webdriver.py"
     "tests/test_webdriver_chrome.py"
     "tests/test_webdriver_firefox.py"
diff --git a/nixpkgs/pkgs/development/python-modules/sqlalchemy-utils/default.nix b/nixpkgs/pkgs/development/python-modules/sqlalchemy-utils/default.nix
index b59209f42956..dc983e20ce23 100644
--- a/nixpkgs/pkgs/development/python-modules/sqlalchemy-utils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqlalchemy-utils/default.nix
@@ -1,6 +1,6 @@
 { lib, fetchPypi, buildPythonPackage
 , six, sqlalchemy
-, mock, pytz, isort, flake8, jinja2, pg8000, pyodbc, pytest, pymysql, dateutil
+, mock, pytz, isort, flake8, jinja2, pg8000, pyodbc, pytest, pymysql, python-dateutil
 , docutils, flexmock, psycopg2, pygments }:
 
 buildPythonPackage rec {
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     pyodbc
     pytest
     pymysql
-    dateutil
+    python-dateutil
     docutils
     flexmock
     psycopg2
diff --git a/nixpkgs/pkgs/development/python-modules/sqlmap/default.nix b/nixpkgs/pkgs/development/python-modules/sqlmap/default.nix
index 5b32cb8b64a6..762df0ab7e3a 100644
--- a/nixpkgs/pkgs/development/python-modules/sqlmap/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqlmap/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "sqlmap";
-  version = "1.5.6";
+  version = "1.5.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fc4be53bb7f64b1cc2e8058e7660059d8f5afb9857cc033084953ea615a10305";
+    sha256 = "sha256-HTayAlXehm3Azmbi+ar/Vav5bPYmGu9gflzZCwWZihw=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/starlette/default.nix b/nixpkgs/pkgs/development/python-modules/starlette/default.nix
index 694b678930b2..3079b60564f1 100644
--- a/nixpkgs/pkgs/development/python-modules/starlette/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/starlette/default.nix
@@ -53,9 +53,13 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
-  # fails to import graphql, but integrated graphql support is about to
-  # be removed in 0.15, see https://github.com/encode/starlette/pull/1135.
-  disabledTestPaths = [ "tests/test_graphql.py" ];
+  disabledTestPaths = [
+    # fails to import graphql, but integrated graphql support is about to
+    # be removed in 0.15, see https://github.com/encode/starlette/pull/1135.
+    "tests/test_graphql.py"
+    # contextfunction was removed in Jinja 3.1
+    "tests/test_templates.py"
+  ];
 
   pythonImportsCheck = [ "starlette" ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/staticjinja/default.nix b/nixpkgs/pkgs/development/python-modules/staticjinja/default.nix
index 0681218cd0a5..dc36066ec304 100644
--- a/nixpkgs/pkgs/development/python-modules/staticjinja/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/staticjinja/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "staticjinja";
-  version = "2.1.0";
+  version = "3.0.1";
   format = "pyproject";
 
   # No tests in pypi
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "staticjinja";
     repo = pname;
     rev = version;
-    sha256 = "sha256-VKsDvWEurBdckWbPG5hQLK3dzdM7XVbrp23fR5wp1xk=";
+    sha256 = "sha256-W4q0vG8Kl2gCmA8UnUbdiGRtghhdnWxIJXFIIa6BogA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/sunpy/default.nix b/nixpkgs/pkgs/development/python-modules/sunpy/default.nix
index 987523ed42b9..c8fd82043a81 100644
--- a/nixpkgs/pkgs/development/python-modules/sunpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sunpy/default.nix
@@ -31,12 +31,12 @@
 
 buildPythonPackage rec {
   pname = "sunpy";
-  version = "3.0.0";
+  version = "3.0.1";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-N/DAvnO+S9E4tndEWpiG84P3FCFwxYNdGFxbxUVsTx8=";
+    sha256 = "sha256-WpqkCAwDYb6L+W4VTC/1auGVbblnNYwBxbk+tZbAiBw=";
   };
 
   nativeBuildInputs = [
@@ -75,11 +75,13 @@ buildPythonPackage rec {
   # darwin has write permission issues
   doCheck = stdenv.isLinux;
 
-  # ignore documentation tests
+  # ignore documentation tests and ignore tests with schema issues
   checkPhase = ''
     PY_IGNORE_IMPORTMISMATCH=1 HOME=$(mktemp -d) pytest sunpy -k 'not rst' \
     --deselect=sunpy/tests/tests/test_self_test.py::test_main_nonexisting_module \
-    --deselect=sunpy/tests/tests/test_self_test.py::test_main_stdlib_module
+    --deselect=sunpy/tests/tests/test_self_test.py::test_main_stdlib_module \
+    --ignore=sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/heliocentric-1.0.0.yaml \
+    --ignore=sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/helioprojective-1.0.0.yaml
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/suseapi/default.nix b/nixpkgs/pkgs/development/python-modules/suseapi/default.nix
index 1c36f45090b8..bcf35d1f5f70 100644
--- a/nixpkgs/pkgs/development/python-modules/suseapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/suseapi/default.nix
@@ -7,7 +7,7 @@
 , mechanize
 , beautifulsoup4
 , pyxdg
-, dateutil
+, python-dateutil
 , requests
 , httpretty
 }:
@@ -24,7 +24,7 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    django suds-jurko ldap mechanize beautifulsoup4 pyxdg dateutil requests
+    django suds-jurko ldap mechanize beautifulsoup4 pyxdg python-dateutil requests
   ];
 
   buildInputs = [ httpretty ];
diff --git a/nixpkgs/pkgs/development/python-modules/taskw/default.nix b/nixpkgs/pkgs/development/python-modules/taskw/default.nix
index 523d3e303b32..80d86c3edb01 100644
--- a/nixpkgs/pkgs/development/python-modules/taskw/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/taskw/default.nix
@@ -4,7 +4,7 @@
 , nose
 , tox
 , six
-, dateutil
+, python-dateutil
 , kitchen
 , pytz
 , pkgs
@@ -29,7 +29,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   buildInputs = [ nose pkgs.taskwarrior tox ];
-  propagatedBuildInputs = [ six dateutil kitchen pytz ];
+  propagatedBuildInputs = [ six python-dateutil kitchen pytz ];
 
   meta = with lib; {
     homepage =  "https://github.com/ralphbean/taskw";
diff --git a/nixpkgs/pkgs/development/python-modules/tern/0001-Replace-debut-with-debian-inspector.patch b/nixpkgs/pkgs/development/python-modules/tern/0001-Replace-debut-with-debian-inspector.patch
deleted file mode 100644
index c9cb8b4a5281..000000000000
--- a/nixpkgs/pkgs/development/python-modules/tern/0001-Replace-debut-with-debian-inspector.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From d944d8fa6cb6d1667f3e4c4e0cff4c4b2a7c0a30 Mon Sep 17 00:00:00 2001
-From: Cole Helbling <cole.e.helbling@outlook.com>
-Date: Fri, 7 May 2021 11:00:46 -0700
-Subject: [PATCH] Replace `debut` with `debian-inspector`
-
----
- requirements.in        | 2 +-
- tern/analyze/common.py | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/requirements.in b/requirements.in
-index edd90ab..5135841 100644
---- a/requirements.in
-+++ b/requirements.in
-@@ -12,6 +12,6 @@ requests
- stevedore
- pbr
- dockerfile-parse
--debut
-+debian-inspector
- regex
- GitPython
-diff --git a/tern/analyze/common.py b/tern/analyze/common.py
-index 6962404..0f5e77d 100644
---- a/tern/analyze/common.py
-+++ b/tern/analyze/common.py
-@@ -19,8 +19,8 @@ from tern.utils import cache
- from tern.utils import constants
- from tern.utils import general
- from tern.utils import rootfs
--from debut import debcon
--from debut import copyright as debut_copyright
-+from debian_inspector import debcon
-+from debian_inspector import copyright as debut_copyright
- 
- # global logger
- logger = logging.getLogger(constants.logger_name)
--- 
-2.31.1
-
diff --git a/nixpkgs/pkgs/development/python-modules/tern/default.nix b/nixpkgs/pkgs/development/python-modules/tern/default.nix
index e00e06561f02..0468ee6f84b1 100644
--- a/nixpkgs/pkgs/development/python-modules/tern/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tern/default.nix
@@ -13,6 +13,7 @@
 , prettytable
 , idna
 }:
+
 buildPythonPackage rec {
   pname = "tern";
   version = "2.6.1";
@@ -22,14 +23,6 @@ buildPythonPackage rec {
     sha256 = "749c18ef493ebe3ac28624b2b26c6e38f77de2afd6a6579d2c92393d8fbdbd46";
   };
 
-  patches = [
-    # debut was renamed to debian-inspector
-    # https://github.com/tern-tools/tern/pull/962
-    # NOTE: Has to be in-tree because the upstream patch doesn't apply cleanly
-    # to the PyPi source.
-    ./0001-Replace-debut-with-debian-inspector.patch
-  ];
-
   preBuild = ''
     cp requirements.{in,txt}
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/textfsm/default.nix b/nixpkgs/pkgs/development/python-modules/textfsm/default.nix
index 04bc47913d8f..fed2f7c3e3fe 100644
--- a/nixpkgs/pkgs/development/python-modules/textfsm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/textfsm/default.nix
@@ -9,26 +9,25 @@
 
 buildPythonPackage rec {
   pname = "textfsm";
-  version = "1.1.1";
+  version = "1.1.2";
+  format = "setuptools";
+
 
   src = fetchFromGitHub {
     owner = "google";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0fq2hphd89hns11nh0yifcp6brg6yy4n4hbvfk6avbjd7s40789a";
+    sha256 = "1cbczg3h2841v1xk2s2xg540c69vsrkwxljm758fyr65kshrzlhm";
   };
 
-  patches = [
-    (fetchpatch {
-      # remove pytest-runner dependency
-      url = "https://github.com/google/textfsm/commit/212db75fea4a79aca0f8f85a78954ffbc5667096.patch";
-      sha256 = "0n6qh3sz9wy5gdpq9jjxx8firis48ypr20yacs5bqri59sziwjp0";
-    })
+  propagatedBuildInputs = [
+    six
+    future
   ];
 
-  propagatedBuildInputs = [ six future ];
-
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
   meta = with lib; {
     description = "Python module for parsing semi-structured text into python tables";
diff --git a/nixpkgs/pkgs/development/python-modules/token-bucket/default.nix b/nixpkgs/pkgs/development/python-modules/token-bucket/default.nix
index ac614d53fd5a..f1e90114ac6d 100644
--- a/nixpkgs/pkgs/development/python-modules/token-bucket/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/token-bucket/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "token-bucket";
-  version = "0.2.0";
+  version = "0.3.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "falconry";
     repo = pname;
     rev = version;
-    sha256 = "0kv8j2ab4knvzik2di66bgjwjxdslm2i0hjy35kn9z0dazni585s";
+    sha256 = "0a703y2d09kvv2l9vq7vc97l4pi2wwq1f2hq783mbw2238jymb3m";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/transitions/default.nix b/nixpkgs/pkgs/development/python-modules/transitions/default.nix
index c469875728cd..752cd8fb4d55 100644
--- a/nixpkgs/pkgs/development/python-modules/transitions/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/transitions/default.nix
@@ -33,6 +33,7 @@ buildPythonPackage rec {
 
   preCheck = ''
     export FONTCONFIG_FILE=${fontconfig.out}/etc/fonts/fonts.conf
+    export HOME=$TMPDIR
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/trytond/default.nix b/nixpkgs/pkgs/development/python-modules/trytond/default.nix
index f0cb79b0a8bb..d5ddf8f58802 100644
--- a/nixpkgs/pkgs/development/python-modules/trytond/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/trytond/default.nix
@@ -6,7 +6,7 @@
 , lxml
 , relatorio
 , genshi
-, dateutil
+, python-dateutil
 , polib
 , python-sql
 , werkzeug
@@ -41,7 +41,7 @@ buildPythonApplication rec {
     lxml
     relatorio
     genshi
-    dateutil
+    python-dateutil
     polib
     python-sql
     werkzeug
diff --git a/nixpkgs/pkgs/development/python-modules/tvnamer/default.nix b/nixpkgs/pkgs/development/python-modules/tvnamer/default.nix
deleted file mode 100644
index a9439d3e8878..000000000000
--- a/nixpkgs/pkgs/development/python-modules/tvnamer/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, pytest
-, tvdb_api
-}:
-
-buildPythonPackage rec {
-  pname = "tvnamer";
-  version = "3.0.4";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "dc2ea8188df6ac56439343630466b874c57756dd0b2538dd8e7905048f425f04";
-  };
-
-  checkInputs = [ pytest ];
-  propagatedBuildInputs = [ tvdb_api ];
-
-  # a ton of tests fail with: IOError: tvnamer/main.py could not be found in . or ..
-  doCheck = false;
-
-  meta = with lib; {
-    description = "Automatic TV episode file renamer, uses data from thetvdb.com via tvdb_api.";
-    homepage = "https://github.com/dbr/tvnamer";
-    license = licenses.unlicense;
-    maintainers = with maintainers; [ peterhoeg ];
-  };
-
-}
diff --git a/nixpkgs/pkgs/development/python-modules/twitterapi/default.nix b/nixpkgs/pkgs/development/python-modules/twitterapi/default.nix
index b45218219c53..166e42ced821 100644
--- a/nixpkgs/pkgs/development/python-modules/twitterapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/twitterapi/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "twitterapi";
-  version = "2.7.3";
+  version = "2.7.4";
 
   src = fetchFromGitHub {
     owner = "geduldig";
     repo = "TwitterAPI";
     rev = "v${version}";
-    sha256 = "sha256-82TOVrC7wX7E9lKsx3iGxaEEjHSzf5uZwePBvAw3hDk=";
+    sha256 = "sha256-HDPRpM1LDTtUbldzfCrsdh/GpbzNCVVUVGwohyMe/YE=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/types-decorator/default.nix b/nixpkgs/pkgs/development/python-modules/types-decorator/default.nix
new file mode 100644
index 000000000000..54f531e0f52f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/types-decorator/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "types-decorator";
+  version = "0.1.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0rfg2s4y23w1xk0502sg2jqbzswalkg6infblyzgf94i4bsg1j48";
+  };
+
+  # Modules doesn't have tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "decorator-stubs" ];
+
+  meta = with lib; {
+    description = "Typing stubs for decorator";
+    homepage = "https://github.com/python/typeshed";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/types-requests/default.nix b/nixpkgs/pkgs/development/python-modules/types-requests/default.nix
new file mode 100644
index 000000000000..0450da3f1a71
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/types-requests/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "types-requests";
+  version = "2.25.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "022q31fgiyq6zfjv4pbpg10hh9m7x91wqfc6bdyin50hf980q3gf";
+  };
+
+  # Modules doesn't have tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "requests-stubs" ];
+
+  meta = with lib; {
+    description = "Typing stubs for requests";
+    homepage = "https://github.com/python/typeshed";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/uranium/default.nix b/nixpkgs/pkgs/development/python-modules/uranium/default.nix
index db8c8c8bd23b..a8ce6713f2c0 100644
--- a/nixpkgs/pkgs/development/python-modules/uranium/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/uranium/default.nix
@@ -2,7 +2,7 @@
 , pyqt5, numpy, scipy, shapely, libarcus, cryptography, doxygen, gettext, pythonOlder }:
 
 buildPythonPackage rec {
-  version = "4.9.0";
+  version = "4.10.0";
   pname = "uranium";
   format = "other";
 
@@ -10,7 +10,7 @@ buildPythonPackage rec {
     owner = "Ultimaker";
     repo = "Uranium";
     rev = version;
-    sha256 = "0bqrc4g4pd7b209swlv06bm5sx7df96h9kjpqpra4mfz469km4nn";
+    sha256 = "0bxbkqc4ajs52vmalmhvvqvl1aw2ss6yf7nclwx8nc2g5vchd4ng";
   };
 
   disabled = pythonOlder "3.5.0";
diff --git a/nixpkgs/pkgs/development/python-modules/urllib3/2.nix b/nixpkgs/pkgs/development/python-modules/urllib3/2.nix
index 3fc90fe5d821..f1eea4c31d8d 100644
--- a/nixpkgs/pkgs/development/python-modules/urllib3/2.nix
+++ b/nixpkgs/pkgs/development/python-modules/urllib3/2.nix
@@ -3,7 +3,7 @@
 , buildPythonPackage
 , certifi
 , cryptography
-, dateutil
+, python-dateutil
 , fetchpatch
 , fetchPypi
 , idna
@@ -45,7 +45,7 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    dateutil
+    python-dateutil
     mock
     pytest-freezegun
     pytest-timeout
diff --git a/nixpkgs/pkgs/development/python-modules/urllib3/default.nix b/nixpkgs/pkgs/development/python-modules/urllib3/default.nix
index eec8e284c0eb..6d73357e3bc2 100644
--- a/nixpkgs/pkgs/development/python-modules/urllib3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/urllib3/default.nix
@@ -2,7 +2,7 @@
 , brotli
 , buildPythonPackage
 , cryptography
-, dateutil
+, python-dateutil
 , fetchPypi
 , idna
 , isPy27
@@ -36,7 +36,7 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    dateutil
+    python-dateutil
     mock
     pytest-freezegun
     pytest-timeout
diff --git a/nixpkgs/pkgs/development/python-modules/vertica-python/default.nix b/nixpkgs/pkgs/development/python-modules/vertica-python/default.nix
index 823d2820e1bd..dc1223419249 100644
--- a/nixpkgs/pkgs/development/python-modules/vertica-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vertica-python/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, future, dateutil, six, pytest, mock, parameterized }:
+{ lib, buildPythonPackage, fetchPypi, future, python-dateutil, six, pytest, mock, parameterized }:
 
 buildPythonPackage rec {
   pname = "vertica-python";
@@ -9,7 +9,7 @@ buildPythonPackage rec {
     sha256 = "94cff37e03f89fc4c5e4b2d4c913c7d5d7450f5a205d14f709b39e0a4202be95";
   };
 
-  propagatedBuildInputs = [ future dateutil six ];
+  propagatedBuildInputs = [ future python-dateutil six ];
 
   checkInputs = [ pytest mock parameterized ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/vobject/default.nix b/nixpkgs/pkgs/development/python-modules/vobject/default.nix
index 1bb87d9d1222..30f84150283c 100644
--- a/nixpkgs/pkgs/development/python-modules/vobject/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vobject/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, isPyPy, python, dateutil }:
+{ lib, buildPythonPackage, fetchPypi, isPyPy, python, python-dateutil }:
 
 buildPythonPackage rec {
   version = "0.9.6.1";
@@ -11,7 +11,7 @@ buildPythonPackage rec {
 
   disabled = isPyPy;
 
-  propagatedBuildInputs = [ dateutil ];
+  propagatedBuildInputs = [ python-dateutil ];
 
   checkPhase = "${python.interpreter} tests.py";
 
diff --git a/nixpkgs/pkgs/development/python-modules/webdavclient3/default.nix b/nixpkgs/pkgs/development/python-modules/webdavclient3/default.nix
index eb13cd6b9bbf..fc63c1913d00 100644
--- a/nixpkgs/pkgs/development/python-modules/webdavclient3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/webdavclient3/default.nix
@@ -1,4 +1,4 @@
-{ buildPythonPackage, fetchPypi, isPy27, lib, dateutil, lxml, requests
+{ buildPythonPackage, fetchPypi, isPy27, lib, python-dateutil, lxml, requests
 , pytestCheckHook }:
 
 buildPythonPackage rec {
@@ -12,7 +12,7 @@ buildPythonPackage rec {
     sha256 = "0yw3n5m70ysjn1ch48znpn4zr4a1bd0lsm7q2grqz7q5hfjzjwk0";
   };
 
-  propagatedBuildInputs = [ dateutil lxml requests ];
+  propagatedBuildInputs = [ python-dateutil lxml requests ];
 
   checkInputs = [ pytestCheckHook ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/weboob/default.nix b/nixpkgs/pkgs/development/python-modules/weboob/default.nix
index 3ce15a3fdcea..b1afa242107e 100644
--- a/nixpkgs/pkgs/development/python-modules/weboob/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/weboob/default.nix
@@ -1,7 +1,7 @@
 { lib, buildPythonPackage, fetchPypi, isPy27
 , Babel
 , cssselect
-, dateutil
+, python-dateutil
 , feedparser
 , futures ? null
 , gdata
@@ -52,7 +52,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     Babel
     cssselect
-    dateutil
+    python-dateutil
     feedparser
     gdata
     gnupg
diff --git a/nixpkgs/pkgs/development/python-modules/woob/default.nix b/nixpkgs/pkgs/development/python-modules/woob/default.nix
index 4794843a66d8..fc5e6e9dc65b 100644
--- a/nixpkgs/pkgs/development/python-modules/woob/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/woob/default.nix
@@ -5,7 +5,7 @@
 , Babel
 , colorama
 , cssselect
-, dateutil
+, python-dateutil
 , feedparser
 , gdata
 , gnupg
@@ -49,7 +49,7 @@ buildPythonPackage rec {
     Babel
     colorama
     cssselect
-    dateutil
+    python-dateutil
     feedparser
     gdata
     gnupg
diff --git a/nixpkgs/pkgs/development/python-modules/xknx/default.nix b/nixpkgs/pkgs/development/python-modules/xknx/default.nix
index 0a8da94e52eb..6dd624d597fa 100644
--- a/nixpkgs/pkgs/development/python-modules/xknx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xknx/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "xknx";
-  version = "0.18.7";
+  version = "0.18.8";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "XKNX";
     repo = pname;
     rev = version;
-    sha256 = "17w6a4ci4w6ggxpa99197f84awd116ygzd3fa5cvn1a7221dvdj4";
+    sha256 = "sha256-Y+SHZd/E72eR7gANqHHutZt1a4G4R1oHC8uV0hpJ/J0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/youtube-search/default.nix b/nixpkgs/pkgs/development/python-modules/youtube-search/default.nix
index 41424aa56d2e..439cc31c8c99 100644
--- a/nixpkgs/pkgs/development/python-modules/youtube-search/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/youtube-search/default.nix
@@ -1,20 +1,19 @@
-{ lib, buildPythonPackage, fetchFromGitHub, requests }:
+{ lib, buildPythonPackage, fetchPypi, requests }:
 
 buildPythonPackage rec {
   pname = "youtube-search";
-  version = "unstable-2021-02-27";
+  version = "2.1.0";
 
-  src = fetchFromGitHub {
-    owner = "joetats";
-    repo = "youtube_search";
-    rev = "886fe1b16c829215ee0984b6859f874b4a30d875";
-    sha256 = "sha256-3ECJ6iHNzx5PLgpTFraFzAYbKnyMYRf/iJ0zajU+hlo=";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1541120273996fa433698b2e57b73296dfb8e90536211f29ea997dcf161b66fe";
   };
 
   propagatedBuildInputs = [ requests ];
 
-  # Check disabled due to relative import with no known parent package
+  # tests require network connection
   doCheck = false;
+
   pythonImportsCheck = [ "youtube_search" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/ytmusicapi/default.nix b/nixpkgs/pkgs/development/python-modules/ytmusicapi/default.nix
index daba39eb224d..6ec5fda2ca58 100644
--- a/nixpkgs/pkgs/development/python-modules/ytmusicapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ytmusicapi/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "ytmusicapi";
-  version = "0.17.3";
+  version = "0.18.0";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-miScxT79ZAgDT0AamkN1JyqbM56Otk86LnE6HM0G1Vs=";
+    sha256 = "sha256-RH0ballPSZQvesdUEsulnBkbbzVA2YrGWhMzRFvuwW0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/zha-quirks/default.nix b/nixpkgs/pkgs/development/python-modules/zha-quirks/default.nix
index 34335c65e1a1..37fbc87f3f79 100644
--- a/nixpkgs/pkgs/development/python-modules/zha-quirks/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zha-quirks/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "zha-quirks";
-  version = "0.0.57";
+  version = "0.0.58";
 
   src = fetchFromGitHub {
     owner = "zigpy";
     repo = "zha-device-handlers";
     rev = version;
-    sha256 = "sha256-ajdluj6UIzjJUK30GtoM+e5lsMQRKnn3FPNEg+RS/DM=";
+    sha256 = "sha256-QU5ssbnT3/gioQ3vM9zvlbwxqSWyKIylsV9NuFkNe+Q=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/zwave-js-server-python/default.nix b/nixpkgs/pkgs/development/python-modules/zwave-js-server-python/default.nix
index 2976c5e24bad..778f9c448ed5 100644
--- a/nixpkgs/pkgs/development/python-modules/zwave-js-server-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zwave-js-server-python/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "zwave-js-server-python";
-  version = "0.26.1";
+  version = "0.27.0";
   disabled = pythonOlder "3.8";
 
 
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = version;
-    sha256 = "1rh6wim5hr9lygvgria7lr6x61sdyrv3drrrirgv9p9gl3rxcj6m";
+    sha256 = "sha256-ClZ9B20NphN5XewqEtHpUMNHuuVxs1RJBcxWi6TzT1Y=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/r-modules/default.nix b/nixpkgs/pkgs/development/r-modules/default.nix
index c4fb1f25304d..6e04e60bfb5c 100644
--- a/nixpkgs/pkgs/development/r-modules/default.nix
+++ b/nixpkgs/pkgs/development/r-modules/default.nix
@@ -345,6 +345,7 @@ let
     stsm = [ pkgs.gsl_1 ];
     stringi = [ pkgs.icu.dev ];
     survSNP = [ pkgs.gsl_1 ];
+    svglite = [ pkgs.libpng.dev ];
     sysfonts = [ pkgs.zlib pkgs.libpng pkgs.freetype.dev ];
     systemfonts = [ pkgs.fontconfig.dev pkgs.freetype.dev ];
     TAQMNGR = [ pkgs.zlib.dev ];
diff --git a/nixpkgs/pkgs/development/ruby-modules/bundler/default.nix b/nixpkgs/pkgs/development/ruby-modules/bundler/default.nix
index fc2733de3f00..912bace20201 100644
--- a/nixpkgs/pkgs/development/ruby-modules/bundler/default.nix
+++ b/nixpkgs/pkgs/development/ruby-modules/bundler/default.nix
@@ -4,8 +4,8 @@ buildRubyGem rec {
   inherit ruby;
   name = "${gemName}-${version}";
   gemName = "bundler";
-  version = "2.1.4";
-  source.sha256 = "12glbb1357x91fvd004jgkw7ihlkpc9dwr349pd7j83isqhls0ah";
+  version = "2.2.20";
+  source.sha256 = "259ba486173d72a71df43fee8e3bc8dcb868c8a65e0c4020af3a6f13c3a57ff8";
   dontPatchShebangs = true;
 
   postFixup = ''
diff --git a/nixpkgs/pkgs/development/scheme-modules/scheme-bytestructures/default.nix b/nixpkgs/pkgs/development/scheme-modules/scheme-bytestructures/default.nix
index 67d9e39af62c..5be2fca96fbe 100644
--- a/nixpkgs/pkgs/development/scheme-modules/scheme-bytestructures/default.nix
+++ b/nixpkgs/pkgs/development/scheme-modules/scheme-bytestructures/default.nix
@@ -34,6 +34,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/TaylanUB/scheme-bytestructures";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ ethancedwards8 ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix b/nixpkgs/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix
index 66f2db280685..ebbfa619fed3 100644
--- a/nixpkgs/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-tarpaulin";
-  version = "0.17.0";
+  version = "0.18.0";
 
   src = fetchFromGitHub {
     owner = "xd009642";
     repo = "tarpaulin";
     rev = version;
-    sha256 = "1z104cd3wg718x1d89znppx4h6f0c6icgmpcllyrd0d19lb71a2b";
+    sha256 = "sha256-j5VLxtu8Xg1fwDYWYJXGFUkfpgauG/5NauSniSZ7G2w=";
   };
 
   nativeBuildInputs = [
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
   ];
   buildInputs = [ openssl ];
 
-  cargoSha256 = "1hpi9aifn3g19yqkb58lphyw8cbsqllhg5dzbqx15hcfvrb7ip4k";
+  cargoSha256 = "sha256-1lFGczzcN4QPsIpEVQiSmNS7L+9rlSfxi+gopt2E7Ec=";
   #checkFlags = [ "--test-threads" "1" ];
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/analysis/codeql/default.nix b/nixpkgs/pkgs/development/tools/analysis/codeql/default.nix
index 25d61d2393e5..df3c42b4718f 100644
--- a/nixpkgs/pkgs/development/tools/analysis/codeql/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/codeql/default.nix
@@ -12,7 +12,7 @@
 
 stdenv.mkDerivation rec {
   pname = "codeql";
-  version = "2.5.5";
+  version = "2.5.7";
 
   dontConfigure = true;
   dontBuild = true;
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   src = fetchzip {
     url = "https://github.com/github/codeql-cli-binaries/releases/download/v${version}/codeql.zip";
-    sha256 = "sha256-M5O2NEGIVPWYKl11yxMMVreEtDO1VqcMkiGGrjNmk3A=";
+    sha256 = "sha256-dKJQv/omXT/L5dWYkveXodNNt5Q3i1WDIA9nwmo0Sfc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/tools/analysis/cppcheck/default.nix b/nixpkgs/pkgs/development/tools/analysis/cppcheck/default.nix
index 600d0efc92ee..5e7f6a3f2d56 100644
--- a/nixpkgs/pkgs/development/tools/analysis/cppcheck/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/cppcheck/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "cppcheck";
-  version = "2.4";
+  version = "2.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-mGJPqOmz1/siAVkwDP5WXFvx3TtD5KT/klciqnaEoCo=";
+    sha256 = "sha256-s+KJpA11A4bFOXgy2eVkRMYBFwwBjU7QZgSPZ0oVKxo=";
   };
 
   buildInputs = [ pcre ] ++ lib.optionals withZ3 [ z3 ];
diff --git a/nixpkgs/pkgs/development/tools/analysis/rr/unstable.nix b/nixpkgs/pkgs/development/tools/analysis/rr/unstable.nix
index 82b644f76ae6..35098c1bcfc8 100644
--- a/nixpkgs/pkgs/development/tools/analysis/rr/unstable.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/rr/unstable.nix
@@ -1,9 +1,8 @@
-# This is a temporary copy of the default.nix in this folder, with the version updated to the current tip of rr's master branch.
-# This exists because rr has not had a release in a long time, but there have been a lot of improvements including UX.
-# Some of the UX improvements help prevent foot shooting.
-# Upstream has stated that it should be fine to use master.
-# This file, and its attribute in all-packages, can be removed once rr makes a release.
-# For further information, please see https://github.com/NixOS/nixpkgs/issues/99535 "Improve support for the rr debugger in nixos containers"
+# This is a temporary copy of the default.nix in this folder, with the version
+# updated to the current tip of rr's master branch. This exists because rr has
+# not had a release in a long time. Upstream has stated that it should be fine
+# to use master. This file, and its attribute in all-packages, can be removed
+# once rr makes a release.
 
 { callPackage, fetchFromGitHub }:
 
@@ -12,12 +11,12 @@ let
 in
 
   rr.overrideAttrs (old: {
-    version = "unstable-2020-10-04";
+    version = "unstable-2021-07-06";
 
     src = fetchFromGitHub {
       owner = "mozilla";
       repo = "rr";
-      rev = "9ff375813a740a0a6ebcdfcebc58bd61ab68c667";
-      sha256 = "0raifs6cg5ckpi2445inhy3hfhp4p89s1lkx9z17mcc2g1c1phf5";
+      rev = "0fc21a8d654dabc7fb1991d76343824cb7951ea0";
+      sha256 = "0s851rflxmvxcfw97zmplcwzhv86xmd3my78pi4c7gkj18d621i5";
     };
   })
diff --git a/nixpkgs/pkgs/development/tools/analysis/smatch/default.nix b/nixpkgs/pkgs/development/tools/analysis/smatch/default.nix
index 4330ec3d7426..2780c8552fc0 100644
--- a/nixpkgs/pkgs/development/tools/analysis/smatch/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/smatch/default.nix
@@ -1,14 +1,12 @@
 { lib, stdenv, fetchgit, sqlite, pkg-config, perl
 , buildllvmsparse ? true
 , buildc2xml ? true
-, llvm ? null, libxml2 ? null
+, llvm, libxml2
 }:
 
-assert buildllvmsparse -> llvm != null;
-assert buildc2xml -> libxml2 != null;
-
 stdenv.mkDerivation {
-  name = "smatch-20120924";
+  pname = "smatch";
+  version = "20120924";
 
   src = fetchgit {
     url = "git://repo.or.cz/smatch.git";
@@ -17,19 +15,20 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [sqlite perl]
+  buildInputs = [ sqlite perl ]
    ++ lib.optional buildllvmsparse llvm
    ++ lib.optional buildc2xml libxml2;
 
-  preBuild =
-    '' sed -i Makefile \
-           -e "s|^PREFIX=.*|PREFIX = $out|g"
-    '';
+  preBuild = ''
+    sed -i Makefile \
+      -e "s|^PREFIX=.*|PREFIX = $out|g"
+  '';
 
-  meta = {
+  meta = with lib; {
     description = "A semantic analysis tool for C";
     homepage = "http://smatch.sourceforge.net/";
-    license = lib.licenses.free; /* OSL, see http://www.opensource.org */
-    platforms = lib.platforms.linux;
+    maintainers = with maintainers; [];
+    license = licenses.free; /* OSL, see http://www.opensource.org */
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/analysis/tflint/default.nix b/nixpkgs/pkgs/development/tools/analysis/tflint/default.nix
index 9666bf006d72..a5798c6ad560 100644
--- a/nixpkgs/pkgs/development/tools/analysis/tflint/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/tflint/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "tflint";
-  version = "0.29.1";
+  version = "0.30.0";
 
   src = fetchFromGitHub {
     owner = "terraform-linters";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1pkz8y3da7i4a3nm79a0640xjj4wfkx3dz6614c4hynqn5svji82";
+    sha256 = "0xdn8xakywms8gcacmjvx0ivv37i3vj1d41c8sjlnf1s13q3zv7k";
   };
 
-  vendorSha256 = "0k8v49sr0jmljfl4fa5pnvzd5k3pg865h201114l6cs257sdkczk";
+  vendorSha256 = "18w0wz3raysba99cxcc8pk4md9j438g4y2d2v2pk2l6qri9apscw";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/analysis/tfsec/default.nix b/nixpkgs/pkgs/development/tools/analysis/tfsec/default.nix
index 246f42b63999..da0e0554bf70 100644
--- a/nixpkgs/pkgs/development/tools/analysis/tfsec/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/tfsec/default.nix
@@ -2,23 +2,27 @@
 
 buildGoPackage rec {
   pname = "tfsec";
-  version = "0.39.16";
+  version = "0.41.0";
 
   src = fetchFromGitHub {
     owner = "tfsec";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-5We3Nk/AU5dj37vG4pvqzvNztK01PAPadQV/CgHZe8w=";
+    sha256 = "sha256-MK5cWRPGty7S4pkRZJRZF5qitoPM3im8JJW2J3yQqFo=";
   };
 
   goPackagePath = "github.com/tfsec/tfsec";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X ${goPackagePath}/version.Version=${version}" ];
+  ldflags = [
+    "-w"
+    "-s"
+    "-X ${goPackagePath}/version.Version=${version}"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/tfsec/tfsec";
     description = "Static analysis powered security scanner for your terraform code";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ marsam ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/apksigcopier/default.nix b/nixpkgs/pkgs/development/tools/apksigcopier/default.nix
new file mode 100644
index 000000000000..972de479ee78
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/apksigcopier/default.nix
@@ -0,0 +1,61 @@
+{ lib
+, fetchFromGitHub
+, python3
+, installShellFiles
+, bash
+, pandoc
+}:
+
+# FIXME: how to "recommend" apksigner like the Debian package?
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "apksigcopier";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "obfusk";
+    repo = "apksigcopier";
+    rev = "v${version}";
+    sha256 = "1la1ml91jvqc1zakbqfpayjbs67pi3i18bsgz3mf11rxgphd3fpk";
+  };
+
+  nativeBuildInputs = [ installShellFiles pandoc ];
+  propagatedBuildInputs = with python3.pkgs; [ click ];
+  checkInputs = with python3.pkgs; [ flake8 mypy pylint ];
+
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace /bin/bash ${bash}/bin/bash \
+      --replace 'apksigcopier --version' '${python3.interpreter} apksigcopier --version'
+  '';
+
+  postBuild = ''
+    make ${pname}.1
+  '';
+
+  checkPhase = ''
+    make test
+  '';
+
+  postInstall = ''
+    installManPage ${pname}.1
+  '';
+
+  meta = with lib; {
+    description = "Copy/extract/patch apk signatures & compare apks";
+    longDescription = ''
+      apksigcopier is a tool for copying APK signatures from a signed APK
+      to an unsigned one (in order to verify reproducible builds).  It can
+      also be used to compare two APKs with different signatures.  Its
+      command-line tool offers four operations:
+
+      * copy signatures directly from a signed to an unsigned APK
+      * extract signatures from a signed APK to a directory
+      * patch previously extracted signatures onto an unsigned APK
+      * compare two APKs with different signatures (requires apksigner)
+    '';
+    homepage = "https://github.com/obfusk/apksigcopier";
+    license = with licenses; [ gpl3Plus ];
+    maintainers = [ maintainers.obfusk ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bmake/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bmake/default.nix
index a93de053c446..0d8ca351096c 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bmake/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/bmake/default.nix
@@ -1,21 +1,25 @@
 { lib, stdenv, fetchurl, fetchpatch
-, getopt, tzdata
+, getopt, tzdata, ksh
+, pkgsMusl # for passthru.tests
 }:
 
 stdenv.mkDerivation rec {
   pname = "bmake";
-  version = "20210420";
+  version = "20210621";
 
   src = fetchurl {
     url    = "http://www.crufty.net/ftp/pub/sjg/${pname}-${version}.tar.gz";
-    sha256 = "1ajq8v5rq3pl5y9h1hlscs83007fsyk3lhcp87z09ma370lm3ra7";
+    sha256 = "0gpzv75ibzqz1j1h0hdjgx1v7hkl3i5cb5yf6q9sfcgx0bvb55xa";
   };
 
   # Make tests work with musl
   # * Disable deptgt-delete_on_error test (alpine does this too)
+  # * Disable shell-ksh test (ksh doesn't compile with musl)
   # * Fix test failing due to different strerror(3) output for musl and glibc
   postPatch = lib.optionalString (stdenv.hostPlatform.libc == "musl") ''
-    sed -i unit-tests/Makefile -e '/deptgt-delete_on_error/d'
+    sed -i unit-tests/Makefile \
+      -e '/deptgt-delete_on_error/d' \
+      -e '/shell-ksh/d'
     substituteInPlace unit-tests/opt-chdir.exp --replace "File name" "Filename"
   '';
 
@@ -28,6 +32,8 @@ stdenv.mkDerivation rec {
     ./fix-unexport-env-test.patch
     # Fix localtime tests without global /etc/zoneinfo directory
     ./fix-localtime-test.patch
+    # Always enable ksh test since it checks in a impure location /bin/ksh
+    ./unconditional-ksh-test.patch
     # decouple tests from build phase
     (fetchpatch {
       name = "separate-tests.patch";
@@ -68,7 +74,11 @@ stdenv.mkDerivation rec {
   '';
 
   doCheck = true;
-  checkInputs = [ tzdata ];
+  checkInputs = [
+    tzdata
+  ] ++ lib.optionals (stdenv.hostPlatform.libc != "musl") [
+    ksh
+  ];
   checkPhase = ''
     runHook preCheck
 
@@ -79,6 +89,10 @@ stdenv.mkDerivation rec {
 
   setupHook = ./setup-hook.sh;
 
+  passthru.tests = {
+    bmakeMusl = pkgsMusl.bmake;
+  };
+
   meta = with lib; {
     description = "Portable version of NetBSD 'make'";
     homepage    = "http://www.crufty.net/help/sjg/bmake.html";
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bmake/unconditional-ksh-test.patch b/nixpkgs/pkgs/development/tools/build-managers/bmake/unconditional-ksh-test.patch
new file mode 100644
index 000000000000..117b85da16d1
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/build-managers/bmake/unconditional-ksh-test.patch
@@ -0,0 +1,12 @@
+--- bmake/unit-tests/Makefile.orig	2021-07-04 19:13:09.068094922 +0200
++++ bmake/unit-tests/Makefile	2021-07-04 19:13:14.630080696 +0200
+@@ -295,9 +295,7 @@
+ TESTS+=		sh-single-line
+ TESTS+=		shell-csh
+ TESTS+=		shell-custom
+-.if exists(/bin/ksh)
+ TESTS+=		shell-ksh
+-.endif
+ TESTS+=		shell-sh
+ TESTS+=		suff-add-later
+ TESTS+=		suff-clear-regular
diff --git a/nixpkgs/pkgs/development/tools/build-managers/boot/default.nix b/nixpkgs/pkgs/development/tools/build-managers/boot/default.nix
index 68a4d5f44eaa..1590906206c1 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/boot/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/boot/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Build tooling for Clojure";
-    homepage = "https://boot-clj.com/";
+    homepage = "https://boot-clj.github.io/";
     license = licenses.epl10;
     platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ ragge ];
diff --git a/nixpkgs/pkgs/development/tools/build-managers/conan/default.nix b/nixpkgs/pkgs/development/tools/build-managers/conan/default.nix
index 9c3e99e23ad6..f59e74b02f4e 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/conan/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/conan/default.nix
@@ -39,6 +39,22 @@ let newPython = python3.override {
         "test_ec_verify_should_return_false_if_signature_invalid"
       ];
     });
+    # conan needs jinja2<3
+    jinja2 = super.jinja2.overridePythonAttrs (oldAttrs: rec {
+      version = "2.11.3";
+      src = oldAttrs.src.override {
+        inherit version;
+        sha256 = "a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6";
+      };
+    });
+    # old jinja2 needs old markupsafe
+    markupsafe = super.markupsafe.overridePythonAttrs (oldAttrs: rec {
+      version = "1.1.1";
+      src = oldAttrs.src.override {
+        inherit version;
+        sha256 = "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b";
+      };
+    });
   };
 };
 
@@ -56,7 +72,7 @@ in newPython.pkgs.buildPythonApplication rec {
   propagatedBuildInputs = with newPython.pkgs; [
     bottle
     colorama
-    dateutil
+    python-dateutil
     deprecation
     distro
     fasteners
@@ -92,7 +108,8 @@ in newPython.pkgs.buildPythonApplication rec {
 
   postPatch = ''
     substituteInPlace conans/requirements.txt \
-      --replace "deprecation>=2.0, <2.1" "deprecation"
+      --replace "deprecation>=2.0, <2.1" "deprecation" \
+      --replace "six>=1.10.0,<=1.15.0" "six>=1.10.0,<=1.16.0"
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix b/nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix
index 0013eb4e2e04..3afe88043dee 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/gradle/default.nix
@@ -64,9 +64,9 @@ in rec {
   gradle_latest = gradle_7;
 
   gradle_7 = gradleGen (gradleSpec {
-    version = "7.0";
-    nativeVersion = "0.22-milestone-11";
-    sha256 = "01f3bjn8pbpni8kmxvx1dpwpf4zz04vj7cpm6025n0k188c8k2zb";
+    version = "7.1";
+    nativeVersion = "0.22-milestone-16";
+    sha256 = "0yyqksq3zza7r9ls389ha81l3s768j7dfdqiwk3846qy4wcyxsrd";
   });
 
   gradle_6_8 = gradleGen (gradleSpec {
diff --git a/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix b/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix
index 4fbd0365af95..4682fab41db1 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/mill/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mill";
-  version = "0.9.6";
+  version = "0.9.8";
 
   src = fetchurl {
     url = "https://github.com/com-lihaoyi/mill/releases/download/${version}/${version}";
-    sha256 = "sha256-cAhcTmSPkV5z5ryuCNrpxy9/1iWvvminiVYul9c/DwM=";
+    sha256 = "sha256-vWCzjit7MPrKqEYgJfQHAkam9J9NgMObOQ/A+OQr24o=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/build-managers/redo-c/Makefile b/nixpkgs/pkgs/development/tools/build-managers/redo-c/Makefile
index f2c43cc5003c..5a1dd74c5b84 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/redo-c/Makefile
+++ b/nixpkgs/pkgs/development/tools/build-managers/redo-c/Makefile
@@ -1,4 +1,4 @@
-CFLAGS=-Os
+CFLAGS ?= -Os
 
 all: redo links
 
diff --git a/nixpkgs/pkgs/development/tools/build-managers/redo-c/default.nix b/nixpkgs/pkgs/development/tools/build-managers/redo-c/default.nix
index 40708b7877a9..14d33cba0395 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/redo-c/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/redo-c/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchFromGitHub }:
 stdenv.mkDerivation rec {
   pname = "redo-c";
-  version = "0.2";
+  version = "0.3";
 
   src = fetchFromGitHub {
     owner = "leahneukirchen";
     repo = pname;
     rev = "v${version}";
-    sha256 = "11wc2sgw1ssdm83cjdc6ndnp1bv5mzhbw7njw47mk7ri1ic1x51b";
+    sha256 = "sha256-oZcaBgESIaD7/SUBE7luh7axucKTEzXPVkQAQs2NCXE=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/tools/build-managers/rocm-cmake/default.nix b/nixpkgs/pkgs/development/tools/build-managers/rocm-cmake/default.nix
index 16ea0dc28318..68cd3d449cad 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/rocm-cmake/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/rocm-cmake/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     description = "CMake modules for common build tasks for the ROCm stack";
     homepage = "https://github.com/RadeonOpenCompute/rocm-cmake";
     license = licenses.mit;
-    maintainers = with maintainers; [ danieldk ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/buildah/default.nix b/nixpkgs/pkgs/development/tools/buildah/default.nix
index e3828eb7f14c..ba6f0bf652e3 100644
--- a/nixpkgs/pkgs/development/tools/buildah/default.nix
+++ b/nixpkgs/pkgs/development/tools/buildah/default.nix
@@ -14,13 +14,13 @@
 
 buildGoModule rec {
   pname = "buildah";
-  version = "1.21.1";
+  version = "1.21.2";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "buildah";
     rev = "v${version}";
-    sha256 = "sha256-Wes52lTcv3Jb6gJeUS6fmf4Nee3qEcc3SibaTFvQ8sQ=";
+    sha256 = "sha256-9AYFC10AYbt/qHj5hfuLRxUwibizKk4n9rgtd5RBEQg=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/nixpkgs/pkgs/development/tools/cloud-nuke/default.nix b/nixpkgs/pkgs/development/tools/cloud-nuke/default.nix
index b947fc1ebfe2..75fb29db8827 100644
--- a/nixpkgs/pkgs/development/tools/cloud-nuke/default.nix
+++ b/nixpkgs/pkgs/development/tools/cloud-nuke/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "cloud-nuke";
-  version = "0.1.30";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-uQj14arxDPc8/k1Cvp3T6hqjln30NFk9MzvYy8tAiJ8=";
+    sha256 = "sha256-rxWTh+iltD1kcntlu9sovwG/mQPmukYbw8V2FAFi1KE=";
   };
 
-  vendorSha256 = "sha256-pl3dLisu4Oc77kgfuteKbsZaDzrHo1wUigZEkM4081Q=";
+  vendorSha256 = "sha256-mfNbcnJ62v6tdEhOtA0P9lDoD5HmLBAtNcrv1H3/mSE=";
 
   buildFlagsArray = [ "-ldflags=-s -w -X main.VERSION=${version}" ];
 
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/default.nix
index 6c9cffe41b20..245aeeb4351b 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/default.nix
@@ -1,12 +1,12 @@
 { lib, fetchFromGitHub, buildGoModule }:
 
-let version = "1.2.4";
+let version = "1.3.0";
 in buildGoModule rec {
   inherit version;
   pname = "drone-cli";
   revision = "v${version}";
 
-  vendorSha256 = "0v94rwxkbj85l3brbm792xf1rfs3vgnwpgjczwqip1gm159dpnd7";
+  vendorSha256 = "sha256-I+UBa6gqkPRXNV72iyJcCBLYShZxMtHFHSK77mhDv+U=";
 
   doCheck = false;
 
@@ -18,7 +18,7 @@ in buildGoModule rec {
     owner = "drone";
     repo = "drone-cli";
     rev = revision;
-    sha256 = "14sm5k2ifvr4g9369zqgb92vrr4rc0bxf5m52l3g8bd2s8fq8nx8";
+    sha256 = "sha256-j6drDMxvAVfQ1aCFooc9g9HhMRMlFZXGZPiuJZKBbY4=";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix
index 415b22894cbe..88156f815ab8 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -1,18 +1,28 @@
-{ lib, stdenv, fetchurl, common-updater-scripts, coreutils, git, gnused, nix
-, nixfmt, writeScript, nixosTests, jq, cacert, curl }:
+{ lib, stdenv, fetchurl, common-updater-scripts, coreutils, git, gnused, makeWrapper, nix
+, nixfmt, openjdk, writeScript, nixosTests, jq, cacert, curl }:
 
 stdenv.mkDerivation rec {
   pname = "jenkins";
-  version = "2.289.1";
+  version = "2.289.2";
 
   src = fetchurl {
     url = "http://mirrors.jenkins.io/war-stable/${version}/jenkins.war";
-    sha256 = "1wkm1y2bj245b9i51vhns9qfxc6xm44hg60vhgmswndcy5pwrybh";
+    sha256 = "0413ymfrb00ifxl8ww8nn8y4k07jhgsaxaw2h0qnfh9s6yxifpbf";
   };
 
+  nativeBuildInputs = [ makeWrapper ];
+
   buildCommand = ''
-    mkdir -p "$out/webapps"
+    mkdir -p "$out/bin" "$out/share" "$out/webapps"
+
     cp "$src" "$out/webapps/jenkins.war"
+
+    # Create the `jenkins-cli` command.
+    ${openjdk}/bin/jar -xf "$src" WEB-INF/lib/cli-${version}.jar \
+      && mv WEB-INF/lib/cli-${version}.jar "$out/share/jenkins-cli.jar"
+
+    makeWrapper "${openjdk}/bin/java" "$out/bin/jenkins-cli" \
+      --add-flags "-jar $out/share/jenkins-cli.jar"
   '';
 
   passthru = {
diff --git a/nixpkgs/pkgs/development/tools/database/sqlfluff/default.nix b/nixpkgs/pkgs/development/tools/database/sqlfluff/default.nix
index 01f4941c8e4f..12e5c8c14abd 100644
--- a/nixpkgs/pkgs/development/tools/database/sqlfluff/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/sqlfluff/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "sqlfluff";
-  version = "0.6.0a2";
+  version = "0.6.0";
   disabled = python3.pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "13hzr0jialzi2nlvqwvff3w0h6jikqvcg0p2p4irwlisg4db8w7w";
+    sha256 = "sha256-RW3+NpKZns3Jo1b3GfTymUE74pVoJi9f0zi4j4mUGiY=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/nixpkgs/pkgs/development/tools/database/sqlitebrowser/default.nix b/nixpkgs/pkgs/development/tools/database/sqlitebrowser/default.nix
index 45b5f185880d..9ff5c1b01b87 100644
--- a/nixpkgs/pkgs/development/tools/database/sqlitebrowser/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/sqlitebrowser/default.nix
@@ -1,5 +1,5 @@
 { mkDerivation, lib, fetchFromGitHub, cmake
-, qtbase, qttools, sqlite }:
+, qtbase, qttools, sqlite, wrapGAppsHook }:
 
 mkDerivation rec {
   pname = "sqlitebrowser";
@@ -18,7 +18,7 @@ mkDerivation rec {
   # We *really* should get that cleaned up.
   buildInputs = [ qtbase sqlite ];
 
-  nativeBuildInputs = [ cmake qttools ];
+  nativeBuildInputs = [ cmake qttools wrapGAppsHook ];
 
   meta = with lib; {
     description = "DB Browser for SQLite";
diff --git a/nixpkgs/pkgs/development/tools/detect-secrets/default.nix b/nixpkgs/pkgs/development/tools/detect-secrets/default.nix
index f0dddf66ff40..5dc765ffe6f3 100644
--- a/nixpkgs/pkgs/development/tools/detect-secrets/default.nix
+++ b/nixpkgs/pkgs/development/tools/detect-secrets/default.nix
@@ -1,10 +1,7 @@
 { lib
 , buildPythonApplication
-, configparser
-, enum34
 , fetchFromGitHub
-, functools32
-, future
+, gibberish-detector
 , isPy27
 , mock
 , pyahocorasick
@@ -17,34 +14,54 @@
 
 buildPythonApplication rec {
   pname = "detect-secrets";
-  version = "0.14.3";
+  version = "1.1.0";
   disabled = isPy27;
 
-  # PyPI tarball doesn't ship tests
   src = fetchFromGitHub {
     owner = "Yelp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0c4hxih9ljmv0d3izq5idyspk5zci26gdb6lv9klwcshwrfkvxj0";
+    sha256 = "sha256-dj0lqm9s8OKhM4OmNrmGVRc32/ZV0I9+5WcW2hvLwu0=";
   };
 
   propagatedBuildInputs = [
+    gibberish-detector
     pyyaml
+    pyahocorasick
     requests
   ];
 
   checkInputs = [
     mock
-    pyahocorasick
     pytestCheckHook
     responses
     unidiff
   ];
 
+  preCheck = ''
+    export HOME=$(mktemp -d);
+  '';
+
   disabledTests = [
-    "TestMain"
-    "TestPreCommitHook"
-    "TestInitializeBaseline"
+    # Tests are failing for various reasons. Needs to be adjusted with the next update
+    "test_baseline_filters_out_known_secrets"
+    "test_basic"
+    "test_does_not_modify_slim_baseline"
+    "test_handles_each_path_separately"
+    "test_handles_multiple_directories"
+    "test_load_and_output"
+    "test_make_decisions"
+    "test_modifies_baseline"
+    "test_no_files_in_git_repo"
+    "test_outputs_baseline_if_none_supplied"
+    "test_saves_to_baseline"
+    "test_scan_all_files"
+    "test_should_scan_all_files_in_directory_if_flag_is_provided"
+    "test_should_scan_specific_non_tracked_file"
+    "test_should_scan_tracked_files_in_directory"
+    "test_start_halfway"
+    "test_works_from_different_directory"
+    "TestModifiesBaselineFromVersionChange"
   ];
 
   pythonImportsCheck = [ "detect_secrets" ];
diff --git a/nixpkgs/pkgs/development/tools/dprint/default.nix b/nixpkgs/pkgs/development/tools/dprint/default.nix
new file mode 100644
index 000000000000..7ac81b236dbe
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/dprint/default.nix
@@ -0,0 +1,30 @@
+{ lib, fetchCrate, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "dprint";
+  version = "0.15.0";
+
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "sha256-1DUGp+HiiY03fyZ+b8hNUBIfuQV5Z/gEcOxc/vG3YiA=";
+  };
+
+  cargoSha256 = "sha256-twFXA8A+vP1n6IFJO78fKNs+FC2ui46rj1JmJ/eq3wc=";
+
+  # Tests fail because they expect a test WASM plugin. Tests already run for
+  # every commit upstream on GitHub Actions
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Code formatting platform written in Rust";
+    longDescription = ''
+      dprint is a pluggable and configurable code formatting platform written in Rust.
+      It offers multiple WASM plugins to support various languages. It's written in
+      Rust, so it’s small, fast, and portable.
+    '';
+    changelog = "https://github.com/dprint/dprint/releases/tag/${version}";
+    homepage = "https://dprint.dev";
+    license = licenses.mit;
+    maintainers = with maintainers; [ khushraj ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/eclipse-mat/default.nix b/nixpkgs/pkgs/development/tools/eclipse-mat/default.nix
index 608c721caf00..01146542d0cc 100644
--- a/nixpkgs/pkgs/development/tools/eclipse-mat/default.nix
+++ b/nixpkgs/pkgs/development/tools/eclipse-mat/default.nix
@@ -20,7 +20,7 @@
 
 with lib;
 let
-  pVersion = "1.11.0.20201202";
+  pVersion = "1.12.0.20210602";
   pVersionTriple = splitVersion pVersion;
   majorVersion = elemAt pVersionTriple 0;
   minorVersion = elemAt pVersionTriple 1;
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://ftp.halifax.rwth-aachen.de/eclipse//mat/${baseVersion}/rcp/MemoryAnalyzer-${version}-linux.gtk.x86_64.zip";
-    sha256 = "sha256-HtIKcGfdjb2wovGGSxv16ud7y1cPQFBn77pkhiekAkI=";
+    sha256 = "sha256-qX4RPuZdeiEduJAEpzOi/QnbJ+kaD0PZ3WHrmGsvqHc=";
   };
 
   desktopItem = makeDesktopItem {
diff --git a/nixpkgs/pkgs/development/tools/ecpdap/default.nix b/nixpkgs/pkgs/development/tools/ecpdap/default.nix
index 3bb12c40e355..38ba9d78712e 100644
--- a/nixpkgs/pkgs/development/tools/ecpdap/default.nix
+++ b/nixpkgs/pkgs/development/tools/ecpdap/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ecpdap";
-  version = "0.1.6";
+  version = "0.1.7";
 
   src = fetchFromGitHub {
     owner = "adamgreig";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1va96hxm22a2lfy141x1sv5f5g8f6mp965an4jsff9qzi55kfv2g";
+    sha256 = "sha256-fdvpGmEy54i48H6YJ4E1LIuogimNEL8PJS5ScoW/6DM=";
   };
 
-  cargoSha256 = "1dk6x2f36c546qr415kzmqr2r4550iwdmj4chrb46p3hr64jddhd";
+  cargoSha256 = "sha256-2YARNoHVDBwGr8FE/oRlNZMX/vCPIre7OnZbr04eF/M=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/nixpkgs/pkgs/development/tools/elkhound/default.nix b/nixpkgs/pkgs/development/tools/elkhound/default.nix
new file mode 100644
index 000000000000..5c29b10a6139
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/elkhound/default.nix
@@ -0,0 +1,50 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, bison
+, cmake
+, flex
+, perl
+}:
+
+stdenv.mkDerivation rec {
+  pname = "elkhound";
+  version = "unstable-2020-04-13";
+
+  src = fetchFromGitHub {
+    owner = "WeiDUorg";
+    repo = pname;
+    rev = "a7eb4bb2151c00cc080613a770d37560f62a285c";
+    sha256 = "sha256-Y96OFpBNrD3vrKoEZ4KdJuI1Q4RmYANsu7H3ZzfaA6g=";
+  };
+
+  postPatch = ''
+    patchShebangs scripts
+  '';
+
+  sourceRoot = "source/src";
+
+  nativeBuildInputs = [ bison cmake flex perl ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm555 -t $out/bin ast/astgen elkhound/elkhound
+    for d in ast elkhound smbase; do
+      install -Dm444 -t $out/lib $d/*.a
+      install -Dm444 -t $out/include/$d $src/src/$d/*.h
+    done
+    install -Dm444 -t $out/share/doc/${pname} $src/src/elkhound/*.txt
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A parser generator which emits GLR parsers, either in OCaml or C++";
+    homepage = "https://scottmcpeak.com/elkhound/";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ peterhoeg ];
+    # possibly works on Darwin
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/esbuild/default.nix b/nixpkgs/pkgs/development/tools/esbuild/default.nix
index 22a6a59cc1bc..8b37899ef675 100644
--- a/nixpkgs/pkgs/development/tools/esbuild/default.nix
+++ b/nixpkgs/pkgs/development/tools/esbuild/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "esbuild";
-  version = "0.12.9";
+  version = "0.12.14";
 
   src = fetchFromGitHub {
     owner = "evanw";
     repo = "esbuild";
     rev = "v${version}";
-    sha256 = "sha256-MqwgdhgWIfYE0wO7fWQuC72tEwCVgL7qUbJlJ3APf4E=";
+    sha256 = "sha256-+qFR5XGV1LSCY8AR7gd269UcOwlL5hkvKiQEhdsqIJc=";
   };
 
   vendorSha256 = "sha256-2ABWPqhK2Cf4ipQH7XvRrd+ZscJhYPc3SV2cGT0apdg=";
diff --git a/nixpkgs/pkgs/development/tools/fission/default.nix b/nixpkgs/pkgs/development/tools/fission/default.nix
index 3045842d91f0..56d5161b49e9 100644
--- a/nixpkgs/pkgs/development/tools/fission/default.nix
+++ b/nixpkgs/pkgs/development/tools/fission/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "fission";
-  version = "1.13.0";
+  version = "1.13.1";
 
   src = fetchFromGitHub {
     owner = "fission";
     repo = "fission";
     rev = version;
-    sha256 = "sha256-WCynU5+d789d584JH99jmTZSEbyco2ysuBXIC2pW1r4=";
+    sha256 = "sha256-ayVEU2Dlqun8KLP+KeI0uU4p9N4aaYLZ/IHqfA2PGrI=";
   };
 
   vendorSha256 = "sha256-V3/IFCbW3wXfNiFzucLeyFDc6SA2nE+NwO0sNEBmIYg=";
diff --git a/nixpkgs/pkgs/development/tools/flawfinder/default.nix b/nixpkgs/pkgs/development/tools/flawfinder/default.nix
index 554ca92b8c0e..36209c5d5aa4 100644
--- a/nixpkgs/pkgs/development/tools/flawfinder/default.nix
+++ b/nixpkgs/pkgs/development/tools/flawfinder/default.nix
@@ -1,30 +1,22 @@
 { lib
-, stdenv
 , fetchurl
 , installShellFiles
 , python3
 }:
 
-stdenv.mkDerivation rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "flawfinder";
-  version = "2.0.15";
+  version = "2.0.18";
 
   src = fetchurl {
     url = "https://dwheeler.com/flawfinder/flawfinder-${version}.tar.gz";
-    sha256 = "01j4szy8gwvikrfzfayfayjnc1za0jxsnxp5fsa6d06kn69wyr8a";
+    sha256 = "1hk2y13fd2a5gf42a1hk45hw6pbls715wi9k1yh3c3wyhvbyylba";
   };
 
-  nativeBuildInputs = [ installShellFiles ];
+  # Project is using a combination of bash/Python for the tests
+  doCheck = false;
 
-  buildInputs = [ python3 ];
-
-  installPhase = ''
-    runHook preInstall
-    mkdir -p $out/bin
-    cp ${pname} $out/bin
-    installManPage flawfinder.1
-    runHook postInstall
-  '';
+  pythonImportsCheck = [ "flawfinder" ];
 
   meta = with lib; {
     description = "Tool to examines C/C++ source code for security flaws";
diff --git a/nixpkgs/pkgs/development/tools/go-task/default.nix b/nixpkgs/pkgs/development/tools/go-task/default.nix
index 58a986e813e1..280e0c1e986b 100644
--- a/nixpkgs/pkgs/development/tools/go-task/default.nix
+++ b/nixpkgs/pkgs/development/tools/go-task/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "go-task";
-  version = "3.4.3";
+  version = "3.5.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "task";
     rev = "v${version}";
-    sha256 = "sha256-hI6x3DOB7pP+umnEFqL0sIx+6qN74sooLdkR2pC74D8=";
+    sha256 = "sha256-oXr98guqEvE/rpRJF5NMjQYZtzbrh1F/neXYbLaCGUg=";
   };
 
   vendorSha256 = "sha256-bsVzV2M31BA7X6aq8na7v56uGYgne4OwR5kz/utmQHI=";
diff --git a/nixpkgs/pkgs/development/tools/gops/default.nix b/nixpkgs/pkgs/development/tools/gops/default.nix
index d23aa71a8abe..bc9cba9df5f7 100644
--- a/nixpkgs/pkgs/development/tools/gops/default.nix
+++ b/nixpkgs/pkgs/development/tools/gops/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "gops";
-  version = "0.3.18";
+  version = "0.3.19";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "gops";
     rev = "v${version}";
-    sha256 = "0534jyravpsj73lgdmw6fns1qaqiw401jlfk04wa0as5sv09rfhy";
+    sha256 = "sha256-9QEhc0OVCrIdIY220PDn2+CjUsCF84l6QRQS0HjDEZY=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/development/tools/jbang/default.nix b/nixpkgs/pkgs/development/tools/jbang/default.nix
index 1220ec90d90f..b0d2cb719533 100644
--- a/nixpkgs/pkgs/development/tools/jbang/default.nix
+++ b/nixpkgs/pkgs/development/tools/jbang/default.nix
@@ -1,12 +1,12 @@
 { stdenv, lib, fetchzip, jdk, makeWrapper, coreutils, curl }:
 
 stdenv.mkDerivation rec {
-  version = "0.71.1";
+  version = "0.72.0";
   pname = "jbang";
 
   src = fetchzip {
     url = "https://github.com/jbangdev/jbang/releases/download/v${version}/${pname}-${version}.tar";
-    sha256 = "sha256-+s2Wa+5Qznqpv84VEZCMmzy0bI1mN/BknPObYqJlaYs=";
+    sha256 = "sha256-QMbkxfGJOMNTILmGYhbUdtq4zfe0Cc/IBftFdM+rT9c=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/just/default.nix b/nixpkgs/pkgs/development/tools/just/default.nix
index 8a8d4201451f..d7a2e7338592 100644
--- a/nixpkgs/pkgs/development/tools/just/default.nix
+++ b/nixpkgs/pkgs/development/tools/just/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "just";
-  version = "0.9.6";
+  version = "0.9.8";
 
   src = fetchFromGitHub {
     owner = "casey";
     repo = pname;
     rev = version;
-    sha256 = "sha256-FWJ7fSJysT5LVFio49nbN0T0b+zWwiV7NvEJlojbNKs=";
+    sha256 = "sha256-WT3r6qw/lCZy6hdfAJmoAgUqjSLPVT8fKX4DnqDnhOs=";
   };
 
-  cargoSha256 = "sha256-/VmCuHPURQTyeIumMaWVrFu18ZgVR0klpc/bO1f1w4o=";
+  cargoSha256 = "sha256-0R/9VndP/Oh5/yP7NsBC25jiCSRVNEXhbVksElLXeEc=";
 
   nativeBuildInputs = [ installShellFiles ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
diff --git a/nixpkgs/pkgs/development/tools/kustomize/3.nix b/nixpkgs/pkgs/development/tools/kustomize/3.nix
new file mode 100644
index 000000000000..aa99256faa84
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/kustomize/3.nix
@@ -0,0 +1,40 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "kustomize_3";
+  version = "3.10.0";
+  # rev is the commit of the tag, mainly for kustomize version command output
+  rev = "602ad8aa98e2e17f6c9119e027a09757e63c8bec";
+
+  ldflags = let t = "sigs.k8s.io/kustomize/api/provenance"; in [
+    "-s -w"
+    "-X ${t}.version=${version}"
+    "-X ${t}.gitCommit=${rev}"
+  ];
+
+  src = fetchFromGitHub {
+    owner = "kubernetes-sigs";
+    repo = "kustomize";
+    rev = "kustomize/v${version}";
+    sha256 = "sha256-ESIykbAKXdv8zM9be0zEJ71rBAzZby0aTg25NlCsIOM=";
+  };
+
+  doCheck = true;
+
+  # avoid finding test and development commands
+  sourceRoot = "source/kustomize";
+
+  vendorSha256 = "sha256-xLeetcmzvpILLLMhMx7oahWLxguFjG3qbYpeeWpFUlw=";
+
+  meta = with lib; {
+    description = "Customization of kubernetes YAML configurations";
+    longDescription = ''
+      kustomize lets you customize raw, template-free YAML files for
+      multiple purposes, leaving the original YAML untouched and usable
+      as is.
+    '';
+    homepage = "https://github.com/kubernetes-sigs/kustomize";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ carlosdagos vdemeester zaninime Chili-Man saschagrunert ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/kustomize/default.nix b/nixpkgs/pkgs/development/tools/kustomize/default.nix
index 489b62891b65..c2453c8ff163 100644
--- a/nixpkgs/pkgs/development/tools/kustomize/default.nix
+++ b/nixpkgs/pkgs/development/tools/kustomize/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "kustomize";
-  version = "4.1.3";
+  version = "4.2.0";
   # rev is the commit of the tag, mainly for kustomize version command output
   rev = "9e8e7a7fe99ec9fbf801463e8607928322fc5245";
 
@@ -17,7 +17,7 @@ buildGoModule rec {
     owner = "kubernetes-sigs";
     repo = pname;
     rev = "kustomize/v${version}";
-    sha256 = "sha256-NPWKInDHOoelWqDrUn/AlRItI4e8J6dbBxgLW078ecs=";
+    sha256 = "sha256-mFF0Yc+j292oajY1i9SApnWaQnVoHxvkGCIurKC0t4o=";
   };
 
   # TODO: Remove once https://github.com/kubernetes-sigs/kustomize/pull/3708 got merged.
@@ -26,7 +26,7 @@ buildGoModule rec {
   # avoid finding test and development commands
   sourceRoot = "source/kustomize";
 
-  vendorSha256 = "sha256-6maEpEPEV436NrVnVlvWV1q6YywGVILXbxn8Z8Ku/hs=";
+  vendorSha256 = "sha256-VMvXDIrg/BkuxZVDHvpfHY/hgwQGz2kw1/hu5lhcYEE=";
 
   meta = with lib; {
     description = "Customization of kubernetes YAML configurations";
diff --git a/nixpkgs/pkgs/development/tools/kustomize/kustomize-sops.nix b/nixpkgs/pkgs/development/tools/kustomize/kustomize-sops.nix
index 9c71af562137..bea8a33a43d8 100644
--- a/nixpkgs/pkgs/development/tools/kustomize/kustomize-sops.nix
+++ b/nixpkgs/pkgs/development/tools/kustomize/kustomize-sops.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kustomize-sops";
-  version = "2.5.6";
+  version = "2.5.7";
 
   src = fetchFromGitHub {
     owner = "viaduct-ai";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-UEtWEOuekFbMUJFWYdXfzbCWCz4I7vVdb9UBQbMXF/A=";
+    sha256 = "sha256-CtVFCpj6YZUAjeyRAPOkbd30Js1PSmzapB12SwKZisc=";
   };
 
   vendorSha256 = "sha256-kNJkSivSj8LMeXobKazLy9MCTtWzrBn99GmvaH+qIUU=";
diff --git a/nixpkgs/pkgs/development/tools/literate-programming/funnelweb/default.nix b/nixpkgs/pkgs/development/tools/literate-programming/funnelweb/default.nix
index 53b7f208e812..56d53104a206 100644
--- a/nixpkgs/pkgs/development/tools/literate-programming/funnelweb/default.nix
+++ b/nixpkgs/pkgs/development/tools/literate-programming/funnelweb/default.nix
@@ -1,8 +1,9 @@
-{lib, stdenv, fetchurl}:
+{ lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
+  pname = "funnelweb";
+  version = "3.20";
 
-  name = "funnelweb-${meta.version}";
   src = fetchurl {
     url = "http://www.ross.net/funnelweb/download/funnelweb_v320/funnelweb_v320_source.tar.gz";
     sha256 = "0zqhys0j9gabrd12mnk8ibblpc8dal4kbl8vnhxmdlplsdpwn4wg";
diff --git a/nixpkgs/pkgs/development/tools/literate-programming/noweb/default.nix b/nixpkgs/pkgs/development/tools/literate-programming/noweb/default.nix
index c02764035161..6847aff097c8 100644
--- a/nixpkgs/pkgs/development/tools/literate-programming/noweb/default.nix
+++ b/nixpkgs/pkgs/development/tools/literate-programming/noweb/default.nix
@@ -57,7 +57,7 @@ lib.fix (noweb: stdenv.mkDerivation rec {
         # NOTE: substituteInPlace breaks Icon binaries, so make sure the script
         #       uses (n)awk before calling.
         if grep -q nawk "$f"; then
-            substituteInPlace "$f" --replace "nawk" "${nawk}/bin/awk"
+            substituteInPlace "$f" --replace "nawk" "${nawk}/bin/nawk"
         fi
     done
 
diff --git a/nixpkgs/pkgs/development/tools/mbed-cli/default.nix b/nixpkgs/pkgs/development/tools/mbed-cli/default.nix
index 127fa1bef863..12e7d1915477 100644
--- a/nixpkgs/pkgs/development/tools/mbed-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/mbed-cli/default.nix
@@ -28,7 +28,7 @@ buildPythonApplication rec {
     homepage = "https://github.com/ARMmbed/mbed-cli";
     description = "Arm Mbed Command Line Interface";
     license = licenses.asl20;
-    maintainers = with maintainers; [ rvolosatovs ];
+    maintainers = with maintainers; [ ];
   };
 }
 
diff --git a/nixpkgs/pkgs/development/tools/misc/binutils/default.nix b/nixpkgs/pkgs/development/tools/misc/binutils/default.nix
index 8042655a859d..a4233886a854 100644
--- a/nixpkgs/pkgs/development/tools/misc/binutils/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/binutils/default.nix
@@ -70,7 +70,7 @@ stdenv.mkDerivation {
        # indeed GHC will refuse to compile with a binutils suffering from it. See
        # this comment for more information:
        # https://gitlab.haskell.org/ghc/ghc/issues/4210#note_78333
-       lib.optional stdenv.targetPlatform.isAarch32 ./R_ARM_COPY.patch;
+       lib.optional (stdenv.targetPlatform.isAarch32 && stdenv.hostPlatform.system != stdenv.targetPlatform.system) ./R_ARM_COPY.patch;
 
   outputs = [ "out" "info" "man" ];
 
diff --git a/nixpkgs/pkgs/development/tools/misc/ccls/wrapper b/nixpkgs/pkgs/development/tools/misc/ccls/wrapper
index c92bc6b40d1a..294b60893a3f 100644
--- a/nixpkgs/pkgs/development/tools/misc/ccls/wrapper
+++ b/nixpkgs/pkgs/development/tools/misc/ccls/wrapper
@@ -4,6 +4,6 @@ printf -v extraArgs ',\"%s\"' \
   $(cat @clang@/nix-support/libc-cflags \
         @clang@/nix-support/libcxx-cxxflags) \
   ${NIX_CFLAGS_COMPILE}
-initString="--init={\"clang\":{\"extraArgs\":[${extraArgs:1}]}}"
+initString="--init={\"clang\":{\"extraArgs\":[${extraArgs:1}],\"resourceDir\":\"@clang@/resource-root\"}}"
 
 exec -a "$0" "@out@/bin/@wrapped@" "${initString}" "$@"
diff --git a/nixpkgs/pkgs/development/tools/misc/editorconfig-core-c/default.nix b/nixpkgs/pkgs/development/tools/misc/editorconfig-core-c/default.nix
index de5c1e070fdb..f48ba999d868 100644
--- a/nixpkgs/pkgs/development/tools/misc/editorconfig-core-c/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/editorconfig-core-c/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchgit, cmake, pcre, doxygen }:
 
 stdenv.mkDerivation rec {
-  name = "editorconfig-core-c-${meta.version}";
+  pname = "editorconfig-core-c";
+  version = "0.12.1";
 
   src = fetchgit {
     url = "https://github.com/editorconfig/editorconfig-core-c.git";
-    rev = "v${meta.version}";
+    rev = "v${version}";
     sha256 = "0awpb63ci85kal3pnlj2b54bay8igj1rbc13d8gqkvidlb51nnx4";
     fetchSubmodules = true;
-    inherit name;
   };
 
   buildInputs = [ pcre ];
@@ -31,7 +31,6 @@ stdenv.mkDerivation rec {
     '';
     downloadPage = "https://github.com/editorconfig/editorconfig-core-c";
     license = with licenses; [ bsd2 bsd3 ];
-    version = "0.12.1";
     maintainers = with maintainers; [ dochang ];
     platforms = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/development/tools/misc/global/default.nix b/nixpkgs/pkgs/development/tools/misc/global/default.nix
index 739615a841c7..70ec9278ae13 100644
--- a/nixpkgs/pkgs/development/tools/misc/global/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/global/default.nix
@@ -6,11 +6,11 @@ let
   pygments = python3Packages.pygments;
 in stdenv.mkDerivation rec {
   pname = "global";
-  version = "6.6.6";
+  version = "6.6.7";
 
   src = fetchurl {
     url = "mirror://gnu/global/${pname}-${version}.tar.gz";
-    sha256 = "sha256-dYB4r/+Y1MBRxYeFx62j7Rl3+rt3+Il/9le3HMYtTV0=";
+    sha256 = "sha256-aaD3f1OCfFVoF2wdOCFm3zYedCY6BH8LMFiqLyrVijw=";
   };
 
   nativeBuildInputs = [ libtool makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/misc/rolespec/default.nix b/nixpkgs/pkgs/development/tools/misc/rolespec/default.nix
index b26fbf75031d..7b084fae891e 100644
--- a/nixpkgs/pkgs/development/tools/misc/rolespec/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/rolespec/default.nix
@@ -1,15 +1,14 @@
 { lib, stdenv, fetchFromGitHub, makeWrapper }:
 
 stdenv.mkDerivation rec {
-
-  name = "rolespec-${meta.version}";
+  pname = "rolespec";
+  version = "20161104";
 
   src = fetchFromGitHub {
     owner = "nickjj";
     repo = "rolespec";
     rev = "d9ee530cd709168882059776c482fc37f46cb743";
     sha256 = "1jkidw6aqr0zfqwmcvlpi9qa140z2pxcfsd43xm5ikx6jcwjdrzl";
-    inherit name;
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -41,9 +40,7 @@ stdenv.mkDerivation rec {
     '';
     downloadPage = "https://github.com/nickjj/rolespec";
     license = licenses.gpl3;
-    version = "20161104";
     maintainers = [ maintainers.dochang ];
     platforms = platforms.unix;
   };
-
 }
diff --git a/nixpkgs/pkgs/development/tools/misc/terraform-ls/default.nix b/nixpkgs/pkgs/development/tools/misc/terraform-ls/default.nix
index e189c563e86e..030200e47a8c 100644
--- a/nixpkgs/pkgs/development/tools/misc/terraform-ls/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/terraform-ls/default.nix
@@ -2,19 +2,17 @@
 
 buildGoModule rec {
   pname = "terraform-ls";
-  version = "0.18.1";
+  version = "0.18.2";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-68Hs9kwv7GTGnYtoJh61ubaggPKbxFwz7qDwYaJ74c8=";
+    sha256 = "sha256-d/dn77pV9qxzAm6NVOM5KhFxYi2/xEK02zMl2TTB5rA=";
   };
-  vendorSha256 = "sha256-NgOpnCe0uGQVDVKYUIULqPTfvfkDtxIUQiCVwiE7nuc=";
+  vendorSha256 = "sha256-0PcMxotUEys+jGDFEEz6owbtTGAac+RwoBWEHP5ifKQ=";
 
-  preBuild = ''
-    buildFlagsArray+=("-ldflags" "-s -w -X main.version=v${version} -X main.prerelease=")
-  '';
+  ldflags = [ "-s" "-w" "-X main.version=v${version}" "-X main.prerelease=" ];
 
   preCheck = ''
     # Remove tests that requires networking
diff --git a/nixpkgs/pkgs/development/tools/ocaml/dune/2.nix b/nixpkgs/pkgs/development/tools/ocaml/dune/2.nix
index 2acc7e5bdf32..3945389e8cd1 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/dune/2.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/dune/2.nix
@@ -6,11 +6,11 @@ else
 
 stdenv.mkDerivation rec {
   pname = "dune";
-  version = "2.8.5";
+  version = "2.9.0";
 
   src = fetchurl {
     url = "https://github.com/ocaml/dune/releases/download/${version}/dune-${version}.tbz";
-    sha256 = "0a9n8ilsi3kyx5xqvk5s7iikk6y3pkpm5mvsn5za5ivlzf1i40br";
+    sha256 = "07m476kgagpd6kzm3jq30yfxqspr2hychah0xfqs14z82zxpq8dv";
   };
 
   buildInputs = [ ocaml findlib ];
diff --git a/nixpkgs/pkgs/development/tools/open-policy-agent/default.nix b/nixpkgs/pkgs/development/tools/open-policy-agent/default.nix
index 739a562227a8..6737f161754c 100644
--- a/nixpkgs/pkgs/development/tools/open-policy-agent/default.nix
+++ b/nixpkgs/pkgs/development/tools/open-policy-agent/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "open-policy-agent";
-  version = "0.29.4";
+  version = "0.30.0";
 
   src = fetchFromGitHub {
     owner = "open-policy-agent";
@@ -10,14 +10,11 @@ buildGoModule rec {
     rev = "v${version}";
     sha256 = "sha256-AjNr+t30ftF92+cEfvt8iHBDVD/SO52ojJRLAkYF9l4=";
   };
-
   vendorSha256 = null;
 
   subPackages = [ "." ];
 
-  preBuild = ''
-    buildFlagsArray+=("-ldflags" "-s -w -X github.com/open-policy-agent/opa/version.Version=${version}")
-  '';
+  ldflags = [ "-s" "-w" "-X github.com/open-policy-agent/opa/version.Version=${version}" ];
 
   doInstallCheck = true;
   installCheckPhase = ''
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/default.nix b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/default.nix
index 6ab1463917c8..60704fdd780b 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/default.nix
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/default.nix
@@ -28,9 +28,9 @@ let
   # 1) change all these hashes
   # 2) nix-build -A tree-sitter.updater.update-all-grammars
   # 3) run the ./result script that is output by that (it updates ./grammars)
-  version = "0.19.5";
-  sha256 = "1qmb0sva28zv6r3c3j7xs9pc8bpwwhkb9vxxndw2zbdn9wkvmbmn";
-  cargoSha256 = "0hnjik3pymb1s7frhfpfzvd6w2k3lgpsmh6milpriwxmqsmkwdzz";
+  version = "0.20.0";
+  sha256 = "0hrcisvw44fjxix09lfbrz7majaj6njbnr6c92a6a5748p2jvyng";
+  cargoSha256 = "029db3yy6nj18vxfvj0ra568a9k4x7znfj08spvzl5sxfbx6442r";
 
   src = fetchFromGitHub {
     owner = "tree-sitter";
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json
index 5ebc9c9a0f3c..8b8315e4abdc 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-c-sharp",
-  "rev": "aa429589525bb849189a0c5ddb52267ce578f988",
-  "date": "2021-06-07T18:47:38+02:00",
-  "path": "/nix/store/mclvpa5kfbl9g5ij3xjdhnqc6bqzqcj6-tree-sitter-c-sharp",
-  "sha256": "07alycp4bclr0ycn44dj2481xag0s10nwgyrdxar3j91hphd966s",
+  "rev": "3953034ee61e8639100b063092d4280e047ca9e9",
+  "date": "2021-06-21T12:18:46+02:00",
+  "path": "/nix/store/8f2bnr790zwibhyd3jqjm38zfc1md5is-tree-sitter-c-sharp",
+  "sha256": "0k6pb27f463y88bf6ym0zl4d36182y5cr3013j71h3vlg264z96c",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-haskell.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-haskell.json
index b8ca41abcf29..1e00f279d68f 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-haskell.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-haskell.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-haskell",
-  "rev": "237f4eb4417c28f643a29d795ed227246afb66f9",
-  "date": "2021-06-05T13:41:42+02:00",
-  "path": "/nix/store/wwi86c3ix0zq8czwljxxypw5w2mxnz5h-tree-sitter-haskell",
-  "sha256": "0gx6mr6yg053i5mif8i8qwkk9h57laf9riw5r24av1y7cal7sszd",
+  "rev": "a0c1adb59e390f7d839a146c57fdb33d36ed97e6",
+  "date": "2021-06-18T23:36:08+02:00",
+  "path": "/nix/store/7rl3najf8rn8ndh31vcxjz5px3r1scky-tree-sitter-haskell",
+  "sha256": "0a97w0qnj0fwy0yyg7hb9i1fyiwbyiz5mwx77aaw6md4jcsf4di8",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json
index 65066c66d539..24fd79d5116c 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-javascript",
-  "rev": "45b9ce2a2588c0e6d616b0ee2a710b1fcb99c5b5",
-  "date": "2021-06-09T14:12:41-07:00",
-  "path": "/nix/store/j6r7z3m4wk6baz70qg2xn2mq3jlnyq6f-tree-sitter-javascript",
-  "sha256": "0rzpyxbh1j9l12jxyryc06f8jhbd5ci18lfb7bw2msc685b2ckcx",
+  "rev": "6de6d604c243b68f90dce14130d536c694d90dcc",
+  "date": "2021-06-29T15:54:12-07:00",
+  "path": "/nix/store/mmz8s440zplg88c0mb0w3dlg94dzgxmf-tree-sitter-javascript",
+  "sha256": "1bz8xhs7q4lp49q1id6dvz93l7vf0gxgngsbjk3x1nvw8rg171j6",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json
index 49b57f4d8a39..6b64a962a523 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-php",
-  "rev": "b065fc4ded84c30aff14c07ec6e7cf449e222b04",
-  "date": "2021-06-01T20:33:20+02:00",
-  "path": "/nix/store/czdqn2nz8pgrd64w74yskx6vl233phxn-tree-sitter-php",
-  "sha256": "1qr2byy344haqybd0zz2hazncay7zndkp4p3317ck50xrs05z086",
+  "rev": "5e89808d490d893799ebcf229130afe4cf2b0324",
+  "date": "2021-06-22T09:23:44+02:00",
+  "path": "/nix/store/5c1pn1p183czqb43a0va7whd4sz81jf1-tree-sitter-php",
+  "sha256": "1mp5kv305a4rrgh7kklifqfg3680krfsd0h76sxn4i0wxyqfgczi",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ruby.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ruby.json
index a96363af7139..c8142974fd43 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ruby.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ruby.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-ruby",
-  "rev": "391269d74d20154bbd0ac9be20b35eced6920290",
-  "date": "2021-05-04T14:02:32-07:00",
-  "path": "/nix/store/hamsaml0yzi13qd61abypjwbv33rd824-tree-sitter-ruby",
-  "sha256": "0biyhydfzybz3g6hhdd0rk6yav7xsk61j8lnmpsi60vaxabdsaiv",
+  "rev": "fe6a2d634da0e16b11b5aa255cc3df568a4572fd",
+  "date": "2021-03-03T16:54:30-08:00",
+  "path": "/nix/store/ragrvqj7hm98r74v5b3fljvc47gd3nhj-tree-sitter-ruby",
+  "sha256": "0m3h4928rbs300wcb6776h9r88hi32rybbhcaf6rdympl5nzi83v",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json
index b7c214cc720a..75329fc63a00 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-scala",
-  "rev": "fb23ed9a99da012d86b7a5059b9d8928607cce29",
-  "date": "2021-04-01T10:11:15-07:00",
-  "path": "/nix/store/n1wvxkz4h38770lxvwakway34ac2a8h7-tree-sitter-scala",
-  "sha256": "05g95340g4labkdvfka5cbg7pr6vzigc40y54js1b5wml0w3d8f7",
+  "rev": "bfa2a81388019d47f6a0a6a6e9c96910dec830b4",
+  "date": "2021-06-23T15:37:27-07:00",
+  "path": "/nix/store/nc5cndwzc5pzq3x64wa51bff0rl36hc8-tree-sitter-scala",
+  "sha256": "0x0lq78gjfsqi225mfvrpkl2jc6fbb378jgj04syxkm941lxc4bk",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-svelte.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-svelte.json
index b224fa54dafe..41c4fcfe734d 100644
--- a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-svelte.json
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-svelte.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/Himujjal/tree-sitter-svelte",
-  "rev": "10c113001acf9852817150acb3031a5e68d2b4cf",
-  "date": "2021-05-02T10:05:14+05:30",
-  "path": "/nix/store/mpfr56mfiizhwr4hq7h422glmdc4hg48-tree-sitter-svelte",
-  "sha256": "1n7addsnin6czm5hrbhaaqqgf0c3nz3mpcdysm2z4icgn7fjq281",
+  "rev": "c696a13a587b0595baf7998f1fb9e95c42750263",
+  "date": "2021-03-20T16:45:11+05:30",
+  "path": "/nix/store/8krdxqwpi95ljrb5jgalwgygz3aljqr8-tree-sitter-svelte",
+  "sha256": "0ckmss5gmvffm6danlsvgh6gwvrlznxsqf6i6ipkn7k5lxg1awg3",
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/nixpkgs/pkgs/development/tools/pgtop/default.nix b/nixpkgs/pkgs/development/tools/pgtop/default.nix
new file mode 100644
index 000000000000..03b3ef89265b
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/pgtop/default.nix
@@ -0,0 +1,30 @@
+{ lib, stdenv, perlPackages, fetchFromGitHub, shortenPerlShebang }:
+
+perlPackages.buildPerlPackage rec {
+  pname = "pgtop";
+  version = "0.11";
+
+  src = fetchFromGitHub {
+    owner = "cosimo";
+    repo = "pgtop";
+    rev = "v${version}";
+    sha256 = "1awyl6ddfihm7dfr5y2z15r1si5cyipnlyyj3m1l19pk98s4x66l";
+  };
+
+  outputs = [ "out" ];
+
+  buildInputs = with perlPackages; [ DBI DBDPg TermReadKey JSON LWPUserAgent ];
+
+  nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
+  postInstall = lib.optionalString stdenv.isDarwin ''
+    shortenPerlShebang $out/bin/pgtop
+  '';
+
+  meta = with lib; {
+    description = "a PostgreSQL clone of `mytop', which in turn is a `top' clone for MySQL";
+    homepage = "https://github.com/cosimo/pgtop";
+    changelog = "https://github.com/cosimo/pgtop/releases/tag/v${version}";
+    maintainers = [ maintainers.hagl ];
+    license = [ licenses.gpl2Only ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/protoc-gen-go/default.nix b/nixpkgs/pkgs/development/tools/protoc-gen-go/default.nix
index 063da92a6ad3..79f97ddd745c 100644
--- a/nixpkgs/pkgs/development/tools/protoc-gen-go/default.nix
+++ b/nixpkgs/pkgs/development/tools/protoc-gen-go/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "protoc-gen-go";
-  version = "1.27.0";
+  version = "1.27.1";
 
   src = fetchFromGitHub {
     owner = "protocolbuffers";
     repo = "protobuf-go";
     rev = "v${version}";
-    sha256 = "sha256-1L0GYXrtTYkk5eLXkfVxzbZMZKgyzSpkDaI8itb6NnA=";
+    sha256 = "sha256-wkUvMsoJP38KMD5b3Fz65R1cnpeTtDcVqgE7tNlZXys=";
   };
 
   vendorSha256 = "sha256-yb8l4ooZwqfvenlxDRg95rqiL+hmsn0weS/dPv/oD2Y=";
diff --git a/nixpkgs/pkgs/development/tools/pscale/default.nix b/nixpkgs/pkgs/development/tools/pscale/default.nix
new file mode 100644
index 000000000000..701c22471ee4
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/pscale/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "pscale";
+  version = "0.51.0";
+
+  src = fetchFromGitHub {
+    owner = "planetscale";
+    repo = "cli";
+    rev = "v${version}";
+    sha256 = "sha256-ykHwDVwL30uXeCEP4EcM8TPYqZmCDDAUUpfinpYipHE=";
+  };
+
+  vendorSha256 = "sha256-3VP2fluQLZs4nWT3O6NmCFxrqKw0/j3ASNxtbXHlZEA=";
+
+  meta = with lib; {
+    homepage = "https://www.planetscale.com/";
+    changelog = "https://github.com/planetscale/cli/releases/tag/v${version}";
+    description = "The CLI for PlanetScale Database";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ pimeys ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/remarshal/default.nix b/nixpkgs/pkgs/development/tools/remarshal/default.nix
index 385db11d7ff4..67137fb1ed93 100644
--- a/nixpkgs/pkgs/development/tools/remarshal/default.nix
+++ b/nixpkgs/pkgs/development/tools/remarshal/default.nix
@@ -10,7 +10,7 @@ python3Packages.buildPythonApplication rec {
   };
 
   propagatedBuildInputs = with python3Packages; [
-    pyyaml cbor2 dateutil tomlkit u-msgpack-python
+    pyyaml cbor2 python-dateutil tomlkit u-msgpack-python
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-bloat/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-bloat/default.nix
index c0baf9f39645..549c3d11e3ac 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-bloat/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-bloat/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-bloat";
-  version = "0.10.0";
+  version = "0.10.1";
 
   src = fetchFromGitHub {
     owner = "RazrFalcon";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0bqzzh8vfqm7dpnb0fv4calnhsg9p3c5j06ycvg621p4zp4fydh2";
+    sha256 = "sha256-VcdZ/dKqFFQs8ItNEj407z1pWJqpHwwIsuNnsQ8KU/8=";
   };
 
-  cargoSha256 = "0f7hmwrs99qdvhn4lvs8cqva68w2y04fy3ca1xlhk7ncdmclcc4g";
+  cargoSha256 = "sha256-1TIGv0yVhkhThqZiQW9JrvFd0eouTlr8kgN/g7b4vDM=";
 
   meta = with lib; {
     description = "A tool and Cargo subcommand that helps you find out what takes most of the space in your executable";
diff --git a/nixpkgs/pkgs/development/tools/rust/crate2nix/default.nix b/nixpkgs/pkgs/development/tools/rust/crate2nix/default.nix
index e68eea50ff3d..a86e531e7f67 100644
--- a/nixpkgs/pkgs/development/tools/rust/crate2nix/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/crate2nix/default.nix
@@ -10,18 +10,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "crate2nix";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "kolloch";
     repo = pname;
     rev = version;
-    sha256 = "sha256-dB8wa3CQFw8ckD420zpBGw4TnsLrHqXf+ff/WuhPsVM=";
+    sha256 = "sha256-JaF9/H3m4Wrc5MtXcONkOAgKVkswLVw0yZe0dBr2e4Y=";
   };
 
   sourceRoot = "source/crate2nix";
 
-  cargoSha256 = "sha256-shWhzCaH8ZttUcq82tA7T1hwNl6F1XJy7ansA5lt+Mw=";
+  cargoSha256 = "sha256-PD7R1vcb3FKd4hfpViKyvfCExJ5H1Xo2HPYden5zpxQ=";
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/nixpkgs/pkgs/development/tools/rust/rust-analyzer/default.nix b/nixpkgs/pkgs/development/tools/rust/rust-analyzer/default.nix
index 07b00deb9c36..a6381576ead0 100644
--- a/nixpkgs/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -7,21 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-analyzer-unwrapped";
-  version = "2021-06-21";
-  cargoSha256 = "sha256-OpfcxBeNwXSD830Sz3o07kgIdXTbZNNVGpaPeCIGGV8=";
+  version = "2021-07-05";
+  cargoSha256 = "sha256-HmvvDHi33JAYXON98mbb+MfmJizOL4cdTbc3QDtPkZo=";
 
   src = fetchFromGitHub {
     owner = "rust-analyzer";
     repo = "rust-analyzer";
     rev = version;
-    sha256 = "sha256-nL5lSvxpOS+fw4iH/Gnl/DI86T9tUtguOy+wLGRkoeY=";
+    sha256 = "sha256-7pH38U+HMNPuO1BFP5kPTJoxGWTewRUoLrc9NXDdK2M=";
   };
 
-  patches = [
-    # We have rustc 1.52.1 in nixpkgs.
-    ./no-rust-1-53-features.patch
-  ];
-
   buildAndTestSubdir = "crates/rust-analyzer";
 
   cargoBuildFlags = lib.optional useMimalloc "--features=mimalloc";
diff --git a/nixpkgs/pkgs/development/tools/rust/rust-analyzer/no-rust-1-53-features.patch b/nixpkgs/pkgs/development/tools/rust/rust-analyzer/no-rust-1-53-features.patch
deleted file mode 100644
index 9fa54e8a9039..000000000000
--- a/nixpkgs/pkgs/development/tools/rust/rust-analyzer/no-rust-1-53-features.patch
+++ /dev/null
@@ -1,673 +0,0 @@
-diff --git a/crates/hir/src/semantics.rs b/crates/hir/src/semantics.rs
-index 43162797e..613266e07 100644
---- a/crates/hir/src/semantics.rs
-+++ b/crates/hir/src/semantics.rs
-@@ -51,14 +51,12 @@ impl PathResolution {
-             PathResolution::Def(ModuleDef::BuiltinType(builtin)) => {
-                 Some(TypeNs::BuiltinType((*builtin).into()))
-             }
--            PathResolution::Def(
--                ModuleDef::Const(_)
--                | ModuleDef::Variant(_)
--                | ModuleDef::Function(_)
--                | ModuleDef::Module(_)
--                | ModuleDef::Static(_)
--                | ModuleDef::Trait(_),
--            ) => None,
-+            PathResolution::Def(ModuleDef::Const(_))
-+            | PathResolution::Def(ModuleDef::Variant(_))
-+            | PathResolution::Def(ModuleDef::Function(_))
-+            | PathResolution::Def(ModuleDef::Module(_))
-+            | PathResolution::Def(ModuleDef::Static(_))
-+            | PathResolution::Def(ModuleDef::Trait(_)) => None,
-             PathResolution::Def(ModuleDef::TypeAlias(alias)) => {
-                 Some(TypeNs::TypeAliasId((*alias).into()))
-             }
-@@ -67,7 +65,8 @@ impl PathResolution {
-             }
-             PathResolution::TypeParam(param) => Some(TypeNs::GenericParam((*param).into())),
-             PathResolution::SelfType(impl_def) => Some(TypeNs::SelfType((*impl_def).into())),
--            PathResolution::AssocItem(AssocItem::Const(_) | AssocItem::Function(_)) => None,
-+            PathResolution::AssocItem(AssocItem::Const(_))
-+            | PathResolution::AssocItem(AssocItem::Function(_)) => None,
-             PathResolution::AssocItem(AssocItem::TypeAlias(alias)) => {
-                 Some(TypeNs::TypeAliasId((*alias).into()))
-             }
-diff --git a/crates/hir_def/src/item_tree/pretty.rs b/crates/hir_def/src/item_tree/pretty.rs
-index e63bc8232..b1e1b70d0 100644
---- a/crates/hir_def/src/item_tree/pretty.rs
-+++ b/crates/hir_def/src/item_tree/pretty.rs
-@@ -63,7 +63,7 @@ impl<'a> Printer<'a> {
-     fn blank(&mut self) {
-         let mut iter = self.buf.chars().rev().fuse();
-         match (iter.next(), iter.next()) {
--            (Some('\n'), Some('\n') | None) | (None, None) => {}
-+            (Some('\n'), Some('\n')) | (Some('\n'), None) | (None, None) => {}
-             (Some('\n'), Some(_)) => {
-                 self.buf.push('\n');
-             }
-@@ -77,7 +77,7 @@ impl<'a> Printer<'a> {
- 
-     fn whitespace(&mut self) {
-         match self.buf.chars().next_back() {
--            None | Some('\n' | ' ') => {}
-+            None | Some('\n') | Some(' ') => {}
-             _ => self.buf.push(' '),
-         }
-     }
-diff --git a/crates/hir_def/src/nameres/collector.rs b/crates/hir_def/src/nameres/collector.rs
-index 927a7b6e8..fc2c50fb8 100644
---- a/crates/hir_def/src/nameres/collector.rs
-+++ b/crates/hir_def/src/nameres/collector.rs
-@@ -1260,7 +1260,7 @@ impl DefCollector<'_> {
-         for directive in &self.unresolved_imports {
-             if let ImportSource::Import { id: import, use_tree } = &directive.import.source {
-                 match (directive.import.path.segments().first(), &directive.import.path.kind) {
--                    (Some(krate), PathKind::Plain | PathKind::Abs) => {
-+                    (Some(krate), PathKind::Plain) | (Some(krate), PathKind::Abs) => {
-                         if diagnosed_extern_crates.contains(krate) {
-                             continue;
-                         }
-diff --git a/crates/hir_def/src/resolver.rs b/crates/hir_def/src/resolver.rs
-index 49c573087..5edd93a2a 100644
---- a/crates/hir_def/src/resolver.rs
-+++ b/crates/hir_def/src/resolver.rs
-@@ -605,7 +605,8 @@ fn to_value_ns(per_ns: PerNs) -> Option<ValueNs> {
-         ModuleDefId::ConstId(it) => ValueNs::ConstId(it),
-         ModuleDefId::StaticId(it) => ValueNs::StaticId(it),
- 
--        ModuleDefId::AdtId(AdtId::EnumId(_) | AdtId::UnionId(_))
-+        ModuleDefId::AdtId(AdtId::EnumId(_))
-+        | ModuleDefId::AdtId(AdtId::UnionId(_))
-         | ModuleDefId::TraitId(_)
-         | ModuleDefId::TypeAliasId(_)
-         | ModuleDefId::BuiltinType(_)
-diff --git a/crates/hir_def/src/visibility.rs b/crates/hir_def/src/visibility.rs
-index aeb1e7726..83500f54e 100644
---- a/crates/hir_def/src/visibility.rs
-+++ b/crates/hir_def/src/visibility.rs
-@@ -172,8 +172,9 @@ impl Visibility {
-     /// visible in unrelated modules).
-     pub(crate) fn max(self, other: Visibility, def_map: &DefMap) -> Option<Visibility> {
-         match (self, other) {
--            (Visibility::Module(_) | Visibility::Public, Visibility::Public)
--            | (Visibility::Public, Visibility::Module(_)) => Some(Visibility::Public),
-+            (Visibility::Module(_), Visibility::Public)
-+            | (Visibility::Public, Visibility::Module(_))
-+            | (Visibility::Public, Visibility::Public) => Some(Visibility::Public),
-             (Visibility::Module(mod_a), Visibility::Module(mod_b)) => {
-                 if mod_a.krate != mod_b.krate {
-                     return None;
-diff --git a/crates/hir_expand/src/hygiene.rs b/crates/hir_expand/src/hygiene.rs
-index 848522411..05c6c3fb1 100644
---- a/crates/hir_expand/src/hygiene.rs
-+++ b/crates/hir_expand/src/hygiene.rs
-@@ -146,11 +146,10 @@ impl HygieneInfo {
-                 (&self.macro_arg.1, InFile::new(loc.kind.file_id(), arg_start))
-             }
-             mbe::Origin::Def => match (&*self.macro_def, self.def_start) {
--                (
--                    TokenExpander::MacroDef { def_site_token_map, .. }
--                    | TokenExpander::MacroRules { def_site_token_map, .. },
--                    Some(tt),
--                ) => (def_site_token_map, tt),
-+                (TokenExpander::MacroDef { def_site_token_map, .. }, Some(tt))
-+                | (TokenExpander::MacroRules { def_site_token_map, .. }, Some(tt)) => {
-+                    (def_site_token_map, tt)
-+                }
-                 _ => panic!("`Origin::Def` used with non-`macro_rules!` macro"),
-             },
-         };
-diff --git a/crates/hir_expand/src/lib.rs b/crates/hir_expand/src/lib.rs
-index c31426d7c..33107aa24 100644
---- a/crates/hir_expand/src/lib.rs
-+++ b/crates/hir_expand/src/lib.rs
-@@ -368,11 +368,10 @@ impl ExpansionInfo {
-         let (token_map, tt) = match origin {
-             mbe::Origin::Call => (&self.macro_arg.1, self.arg.clone()),
-             mbe::Origin::Def => match (&*self.macro_def, self.def.as_ref()) {
--                (
--                    db::TokenExpander::MacroRules { def_site_token_map, .. }
--                    | db::TokenExpander::MacroDef { def_site_token_map, .. },
--                    Some(tt),
--                ) => (def_site_token_map, tt.as_ref().map(|tt| tt.syntax().clone())),
-+                (db::TokenExpander::MacroRules { def_site_token_map, .. }, Some(tt))
-+                | (db::TokenExpander::MacroDef { def_site_token_map, .. }, Some(tt)) => {
-+                    (def_site_token_map, tt.as_ref().map(|tt| tt.syntax().clone()))
-+                }
-                 _ => panic!("`Origin::Def` used with non-`macro_rules!` macro"),
-             },
-         };
-diff --git a/crates/hir_ty/src/consteval.rs b/crates/hir_ty/src/consteval.rs
-index ab1afce08..6f0bf8f8c 100644
---- a/crates/hir_ty/src/consteval.rs
-+++ b/crates/hir_ty/src/consteval.rs
-@@ -38,7 +38,8 @@ impl ConstExt for Const {
- // FIXME: support more than just evaluating literals
- pub fn eval_usize(expr: &Expr) -> Option<u64> {
-     match expr {
--        Expr::Literal(Literal::Uint(v, None | Some(BuiltinUint::Usize))) => (*v).try_into().ok(),
-+        Expr::Literal(Literal::Uint(v, None))
-+        | Expr::Literal(Literal::Uint(v, Some(BuiltinUint::Usize))) => (*v).try_into().ok(),
-         _ => None,
-     }
- }
-diff --git a/crates/hir_ty/src/diagnostics/match_check/deconstruct_pat.rs b/crates/hir_ty/src/diagnostics/match_check/deconstruct_pat.rs
-index e3d640a79..471cd4921 100644
---- a/crates/hir_ty/src/diagnostics/match_check/deconstruct_pat.rs
-+++ b/crates/hir_ty/src/diagnostics/match_check/deconstruct_pat.rs
-@@ -84,7 +84,10 @@ impl IntRange {
-     #[inline]
-     fn is_integral(ty: &Ty) -> bool {
-         match ty.kind(&Interner) {
--            TyKind::Scalar(Scalar::Char | Scalar::Int(_) | Scalar::Uint(_) | Scalar::Bool) => true,
-+            TyKind::Scalar(Scalar::Char)
-+            | TyKind::Scalar(Scalar::Int(_))
-+            | TyKind::Scalar(Scalar::Uint(_))
-+            | TyKind::Scalar(Scalar::Bool) => true,
-             _ => false,
-         }
-     }
-@@ -378,7 +381,7 @@ impl Constructor {
-             // Wildcards cover anything
-             (_, Wildcard) => true,
-             // The missing ctors are not covered by anything in the matrix except wildcards.
--            (Missing | Wildcard, _) => false,
-+            (Missing, _) | (Wildcard, _) => false,
- 
-             (Single, Single) => true,
-             (Variant(self_id), Variant(other_id)) => self_id == other_id,
-@@ -520,7 +523,7 @@ impl SplitWildcard {
-                 }
-             }
-             TyKind::Scalar(Scalar::Char) => unhandled(),
--            TyKind::Scalar(Scalar::Int(..) | Scalar::Uint(..)) => unhandled(),
-+            TyKind::Scalar(Scalar::Int(..)) | TyKind::Scalar(Scalar::Uint(..)) => unhandled(),
-             TyKind::Never if !cx.feature_exhaustive_patterns() && !pcx.is_top_level => {
-                 smallvec![NonExhaustive]
-             }
-diff --git a/crates/hir_ty/src/infer/coerce.rs b/crates/hir_ty/src/infer/coerce.rs
-index 7be914451..4b7f31521 100644
---- a/crates/hir_ty/src/infer/coerce.rs
-+++ b/crates/hir_ty/src/infer/coerce.rs
-@@ -47,7 +47,10 @@ impl<'a> InferenceContext<'a> {
-         // pointers to have a chance at getting a match. See
-         // https://github.com/rust-lang/rust/blob/7b805396bf46dce972692a6846ce2ad8481c5f85/src/librustc_typeck/check/coercion.rs#L877-L916
-         let sig = match (ty1.kind(&Interner), ty2.kind(&Interner)) {
--            (TyKind::FnDef(..) | TyKind::Closure(..), TyKind::FnDef(..) | TyKind::Closure(..)) => {
-+            (TyKind::FnDef(..), TyKind::FnDef(..))
-+            | (TyKind::Closure(..), TyKind::FnDef(..))
-+            | (TyKind::FnDef(..), TyKind::Closure(..))
-+            | (TyKind::Closure(..), TyKind::Closure(..)) => {
-                 // FIXME: we're ignoring safety here. To be more correct, if we have one FnDef and one Closure,
-                 // we should be coercing the closure to a fn pointer of the safety of the FnDef
-                 cov_mark::hit!(coerce_fn_reification);
-@@ -445,7 +448,8 @@ fn safe_to_unsafe_fn_ty(fn_ty: FnPointer) -> FnPointer {
- 
- fn coerce_mutabilities(from: Mutability, to: Mutability) -> Result<(), TypeError> {
-     match (from, to) {
--        (Mutability::Mut, Mutability::Mut | Mutability::Not)
-+        (Mutability::Mut, Mutability::Mut)
-+        | (Mutability::Mut, Mutability::Not)
-         | (Mutability::Not, Mutability::Not) => Ok(()),
-         (Mutability::Not, Mutability::Mut) => Err(TypeError),
-     }
-diff --git a/crates/hir_ty/src/infer/expr.rs b/crates/hir_ty/src/infer/expr.rs
-index c3a5b979f..346e94128 100644
---- a/crates/hir_ty/src/infer/expr.rs
-+++ b/crates/hir_ty/src/infer/expr.rs
-@@ -593,11 +593,11 @@ impl<'a> InferenceContext<'a> {
-                     UnaryOp::Neg => {
-                         match inner_ty.kind(&Interner) {
-                             // Fast path for builtins
--                            TyKind::Scalar(Scalar::Int(_) | Scalar::Uint(_) | Scalar::Float(_))
--                            | TyKind::InferenceVar(
--                                _,
--                                TyVariableKind::Integer | TyVariableKind::Float,
--                            ) => inner_ty,
-+                            TyKind::Scalar(Scalar::Int(_))
-+                            | TyKind::Scalar(Scalar::Uint(_))
-+                            | TyKind::Scalar(Scalar::Float(_))
-+                            | TyKind::InferenceVar(_, TyVariableKind::Integer)
-+                            | TyKind::InferenceVar(_, TyVariableKind::Float) => inner_ty,
-                             // Otherwise we resolve via the std::ops::Neg trait
-                             _ => self
-                                 .resolve_associated_type(inner_ty, self.resolve_ops_neg_output()),
-@@ -606,7 +606,9 @@ impl<'a> InferenceContext<'a> {
-                     UnaryOp::Not => {
-                         match inner_ty.kind(&Interner) {
-                             // Fast path for builtins
--                            TyKind::Scalar(Scalar::Bool | Scalar::Int(_) | Scalar::Uint(_))
-+                            TyKind::Scalar(Scalar::Bool)
-+                            | TyKind::Scalar(Scalar::Int(_))
-+                            | TyKind::Scalar(Scalar::Uint(_))
-                             | TyKind::InferenceVar(_, TyVariableKind::Integer) => inner_ty,
-                             // Otherwise we resolve via the std::ops::Not trait
-                             _ => self
-@@ -733,7 +735,7 @@ impl<'a> InferenceContext<'a> {
-             Expr::Array(array) => {
-                 let elem_ty =
-                     match expected.to_option(&mut self.table).as_ref().map(|t| t.kind(&Interner)) {
--                        Some(TyKind::Array(st, _) | TyKind::Slice(st)) => st.clone(),
-+                        Some(TyKind::Array(st, _)) | Some(TyKind::Slice(st)) => st.clone(),
-                         _ => self.table.new_type_var(),
-                     };
- 
-diff --git a/crates/hir_ty/src/infer/pat.rs b/crates/hir_ty/src/infer/pat.rs
-index c79ed91ea..80ecd4ea9 100644
---- a/crates/hir_ty/src/infer/pat.rs
-+++ b/crates/hir_ty/src/infer/pat.rs
-@@ -297,11 +297,10 @@ fn is_non_ref_pat(body: &hir_def::body::Body, pat: PatId) -> bool {
-             Expr::Literal(Literal::String(..)) => false,
-             _ => true,
-         },
--        Pat::Bind {
--            mode: BindingAnnotation::Mutable | BindingAnnotation::Unannotated,
--            subpat: Some(subpat),
--            ..
--        } => is_non_ref_pat(body, *subpat),
-+        Pat::Bind { mode: BindingAnnotation::Mutable, subpat: Some(subpat), .. }
-+        | Pat::Bind { mode: BindingAnnotation::Unannotated, subpat: Some(subpat), .. } => {
-+            is_non_ref_pat(body, *subpat)
-+        }
-         Pat::Wild | Pat::Bind { .. } | Pat::Ref { .. } | Pat::Box { .. } | Pat::Missing => false,
-     }
- }
-diff --git a/crates/hir_ty/src/op.rs b/crates/hir_ty/src/op.rs
-index 5ef6342d5..0222de2bc 100644
---- a/crates/hir_ty/src/op.rs
-+++ b/crates/hir_ty/src/op.rs
-@@ -8,15 +8,17 @@ pub(super) fn binary_op_return_ty(op: BinaryOp, lhs_ty: Ty, rhs_ty: Ty) -> Ty {
-     match op {
-         BinaryOp::LogicOp(_) | BinaryOp::CmpOp(_) => TyKind::Scalar(Scalar::Bool).intern(&Interner),
-         BinaryOp::Assignment { .. } => TyBuilder::unit(),
--        BinaryOp::ArithOp(ArithOp::Shl | ArithOp::Shr) => {
-+        BinaryOp::ArithOp(ArithOp::Shl) | BinaryOp::ArithOp(ArithOp::Shr) => {
-             // all integer combinations are valid here
-             if matches!(
-                 lhs_ty.kind(&Interner),
--                TyKind::Scalar(Scalar::Int(_) | Scalar::Uint(_))
-+                TyKind::Scalar(Scalar::Int(_))
-+                    | TyKind::Scalar(Scalar::Uint(_))
-                     | TyKind::InferenceVar(_, TyVariableKind::Integer)
-             ) && matches!(
-                 rhs_ty.kind(&Interner),
--                TyKind::Scalar(Scalar::Int(_) | Scalar::Uint(_))
-+                TyKind::Scalar(Scalar::Int(_))
-+                    | TyKind::Scalar(Scalar::Uint(_))
-                     | TyKind::InferenceVar(_, TyVariableKind::Integer)
-             ) {
-                 lhs_ty
-@@ -30,15 +32,15 @@ pub(super) fn binary_op_return_ty(op: BinaryOp, lhs_ty: Ty, rhs_ty: Ty) -> Ty {
-             | (TyKind::Scalar(Scalar::Uint(_)), TyKind::Scalar(Scalar::Uint(_)))
-             | (TyKind::Scalar(Scalar::Float(_)), TyKind::Scalar(Scalar::Float(_))) => rhs_ty,
-             // ({int}, int) | ({int}, uint)
--            (
--                TyKind::InferenceVar(_, TyVariableKind::Integer),
--                TyKind::Scalar(Scalar::Int(_) | Scalar::Uint(_)),
--            ) => rhs_ty,
-+            (TyKind::InferenceVar(_, TyVariableKind::Integer), TyKind::Scalar(Scalar::Int(_)))
-+            | (TyKind::InferenceVar(_, TyVariableKind::Integer), TyKind::Scalar(Scalar::Uint(_))) => {
-+                rhs_ty
-+            }
-             // (int, {int}) | (uint, {int})
--            (
--                TyKind::Scalar(Scalar::Int(_) | Scalar::Uint(_)),
--                TyKind::InferenceVar(_, TyVariableKind::Integer),
--            ) => lhs_ty,
-+            (TyKind::Scalar(Scalar::Int(_)), TyKind::InferenceVar(_, TyVariableKind::Integer))
-+            | (TyKind::Scalar(Scalar::Uint(_)), TyKind::InferenceVar(_, TyVariableKind::Integer)) => {
-+                lhs_ty
-+            }
-             // ({float} | float)
-             (TyKind::InferenceVar(_, TyVariableKind::Float), TyKind::Scalar(Scalar::Float(_))) => {
-                 rhs_ty
-@@ -67,15 +69,21 @@ pub(super) fn binary_op_rhs_expectation(op: BinaryOp, lhs_ty: Ty) -> Ty {
-         BinaryOp::Assignment { op: None } => lhs_ty,
-         BinaryOp::CmpOp(CmpOp::Eq { .. }) => match lhs_ty.kind(&Interner) {
-             TyKind::Scalar(_) | TyKind::Str => lhs_ty,
--            TyKind::InferenceVar(_, TyVariableKind::Integer | TyVariableKind::Float) => lhs_ty,
-+            TyKind::InferenceVar(_, TyVariableKind::Integer)
-+            | TyKind::InferenceVar(_, TyVariableKind::Float) => lhs_ty,
-             _ => TyKind::Error.intern(&Interner),
-         },
--        BinaryOp::ArithOp(ArithOp::Shl | ArithOp::Shr) => TyKind::Error.intern(&Interner),
-+        BinaryOp::ArithOp(ArithOp::Shl) | BinaryOp::ArithOp(ArithOp::Shr) => {
-+            TyKind::Error.intern(&Interner)
-+        }
-         BinaryOp::CmpOp(CmpOp::Ord { .. })
-         | BinaryOp::Assignment { op: Some(_) }
-         | BinaryOp::ArithOp(_) => match lhs_ty.kind(&Interner) {
--            TyKind::Scalar(Scalar::Int(_) | Scalar::Uint(_) | Scalar::Float(_)) => lhs_ty,
--            TyKind::InferenceVar(_, TyVariableKind::Integer | TyVariableKind::Float) => lhs_ty,
-+            TyKind::Scalar(Scalar::Int(_))
-+            | TyKind::Scalar(Scalar::Uint(_))
-+            | TyKind::Scalar(Scalar::Float(_)) => lhs_ty,
-+            TyKind::InferenceVar(_, TyVariableKind::Integer)
-+            | TyKind::InferenceVar(_, TyVariableKind::Float) => lhs_ty,
-             _ => TyKind::Error.intern(&Interner),
-         },
-     }
-diff --git a/crates/ide/src/join_lines.rs b/crates/ide/src/join_lines.rs
-index ffa8bd182..93d3760bf 100644
---- a/crates/ide/src/join_lines.rs
-+++ b/crates/ide/src/join_lines.rs
-@@ -197,7 +197,7 @@ fn join_single_use_tree(edit: &mut TextEditBuilder, token: &SyntaxToken) -> Opti
- }
- 
- fn is_trailing_comma(left: SyntaxKind, right: SyntaxKind) -> bool {
--    matches!((left, right), (T![,], T![')'] | T![']']))
-+    matches!((left, right), (T![,], T![')']) | (T![,], T![']']))
- }
- 
- fn compute_ws(left: SyntaxKind, right: SyntaxKind) -> &'static str {
-diff --git a/crates/ide/src/references.rs b/crates/ide/src/references.rs
-index 5808562a7..945c9b9e1 100644
---- a/crates/ide/src/references.rs
-+++ b/crates/ide/src/references.rs
-@@ -79,7 +79,8 @@ pub(crate) fn find_all_refs(
-                 });
-                 usages.references.retain(|_, it| !it.is_empty());
-             }
--            Definition::ModuleDef(hir::ModuleDef::Adt(_) | hir::ModuleDef::Variant(_)) => {
-+            Definition::ModuleDef(hir::ModuleDef::Adt(_))
-+            | Definition::ModuleDef(hir::ModuleDef::Variant(_)) => {
-                 refs.for_each(|it| {
-                     it.retain(|reference| {
-                         reference.name.as_name_ref().map_or(false, is_lit_name_ref)
-diff --git a/crates/ide/src/syntax_highlighting.rs b/crates/ide/src/syntax_highlighting.rs
-index d44a1b45f..e186b82b7 100644
---- a/crates/ide/src/syntax_highlighting.rs
-+++ b/crates/ide/src/syntax_highlighting.rs
-@@ -294,7 +294,7 @@ fn traverse(
-                 Some(parent) => {
-                     // We only care Name and Name_ref
-                     match (token.kind(), parent.kind()) {
--                        (IDENT, NAME | NAME_REF) => parent.into(),
-+                        (IDENT, NAME) | (IDENT, NAME_REF) => parent.into(),
-                         _ => token.into(),
-                     }
-                 }
-@@ -310,7 +310,7 @@ fn traverse(
-                 Some(parent) => {
-                     // We only care Name and Name_ref
-                     match (token.kind(), parent.kind()) {
--                        (IDENT, NAME | NAME_REF) => parent.into(),
-+                        (IDENT, NAME) | (IDENT, NAME_REF) => parent.into(),
-                         _ => token.into(),
-                     }
-                 }
-diff --git a/crates/ide_assists/src/handlers/extract_function.rs b/crates/ide_assists/src/handlers/extract_function.rs
-index ac7f0959b..9b78cf4b1 100644
---- a/crates/ide_assists/src/handlers/extract_function.rs
-+++ b/crates/ide_assists/src/handlers/extract_function.rs
-@@ -1384,7 +1384,7 @@ fn fix_param_usages(ctx: &AssistContext, params: &[Param], syntax: &SyntaxNode)
-     for (param, usages) in usages_for_param {
-         for usage in usages {
-             match usage.syntax().ancestors().skip(1).find_map(ast::Expr::cast) {
--                Some(ast::Expr::MethodCallExpr(_) | ast::Expr::FieldExpr(_)) => {
-+                Some(ast::Expr::MethodCallExpr(_)) | Some(ast::Expr::FieldExpr(_)) => {
-                     // do nothing
-                 }
-                 Some(ast::Expr::RefExpr(node))
-diff --git a/crates/ide_assists/src/tests.rs b/crates/ide_assists/src/tests.rs
-index 841537c77..d9d9124b6 100644
---- a/crates/ide_assists/src/tests.rs
-+++ b/crates/ide_assists/src/tests.rs
-@@ -181,10 +181,9 @@ fn check(handler: Handler, before: &str, expected: ExpectedResult, assist_label:
-             "unresolved assist should not contain source changes"
-         ),
-         (Some(_), ExpectedResult::NotApplicable) => panic!("assist should not be applicable!"),
--        (
--            None,
--            ExpectedResult::After(_) | ExpectedResult::Target(_) | ExpectedResult::Unresolved,
--        ) => {
-+        (None, ExpectedResult::After(_))
-+        | (None, ExpectedResult::Target(_))
-+        | (None, ExpectedResult::Unresolved) => {
-             panic!("code action is not applicable")
-         }
-         (None, ExpectedResult::NotApplicable) => (),
-diff --git a/crates/ide_completion/src/completions/qualified_path.rs b/crates/ide_completion/src/completions/qualified_path.rs
-index f5dbd203b..88f4d940d 100644
---- a/crates/ide_completion/src/completions/qualified_path.rs
-+++ b/crates/ide_completion/src/completions/qualified_path.rs
-@@ -65,11 +65,9 @@ pub(crate) fn complete_qualified_path(acc: &mut Completions, ctx: &CompletionCon
-                     // Don't suggest attribute macros and derives.
-                     hir::ScopeDef::MacroDef(mac) => mac.is_fn_like(),
-                     // no values in type places
--                    hir::ScopeDef::ModuleDef(
--                        hir::ModuleDef::Function(_)
--                        | hir::ModuleDef::Variant(_)
--                        | hir::ModuleDef::Static(_),
--                    )
-+                    hir::ScopeDef::ModuleDef(hir::ModuleDef::Function(_))
-+                    | hir::ScopeDef::ModuleDef(hir::ModuleDef::Variant(_))
-+                    | hir::ScopeDef::ModuleDef(hir::ModuleDef::Static(_))
-                     | hir::ScopeDef::Local(_) => !ctx.expects_type(),
-                     // unless its a constant in a generic arg list position
-                     hir::ScopeDef::ModuleDef(hir::ModuleDef::Const(_)) => {
-@@ -83,13 +81,9 @@ pub(crate) fn complete_qualified_path(acc: &mut Completions, ctx: &CompletionCon
-                 }
-             }
-         }
--        hir::PathResolution::Def(
--            def
--            @
--            (hir::ModuleDef::Adt(_)
--            | hir::ModuleDef::TypeAlias(_)
--            | hir::ModuleDef::BuiltinType(_)),
--        ) => {
-+        hir::PathResolution::Def(def @ hir::ModuleDef::Adt(_))
-+        | hir::PathResolution::Def(def @ hir::ModuleDef::TypeAlias(_))
-+        | hir::PathResolution::Def(def @ hir::ModuleDef::BuiltinType(_)) => {
-             if let hir::ModuleDef::Adt(hir::Adt::Enum(e)) = def {
-                 add_enum_variants(acc, ctx, e);
-             }
-diff --git a/crates/ide_completion/src/completions/unqualified_path.rs b/crates/ide_completion/src/completions/unqualified_path.rs
-index 81c4fb305..8ea5a2d5b 100644
---- a/crates/ide_completion/src/completions/unqualified_path.rs
-+++ b/crates/ide_completion/src/completions/unqualified_path.rs
-@@ -74,11 +74,9 @@ pub(crate) fn complete_unqualified_path(acc: &mut Completions, ctx: &CompletionC
-             // Don't suggest attribute macros and derives.
-             ScopeDef::MacroDef(mac) => mac.is_fn_like(),
-             // no values in type places
--            ScopeDef::ModuleDef(
--                hir::ModuleDef::Function(_)
--                | hir::ModuleDef::Variant(_)
--                | hir::ModuleDef::Static(_),
--            )
-+            ScopeDef::ModuleDef(hir::ModuleDef::Function(_))
-+            | ScopeDef::ModuleDef(hir::ModuleDef::Variant(_))
-+            | ScopeDef::ModuleDef(hir::ModuleDef::Static(_))
-             | ScopeDef::Local(_) => !ctx.expects_type(),
-             // unless its a constant in a generic arg list position
-             ScopeDef::ModuleDef(hir::ModuleDef::Const(_))
-diff --git a/crates/ide_completion/src/context.rs b/crates/ide_completion/src/context.rs
-index 7b76600df..09eb953fd 100644
---- a/crates/ide_completion/src/context.rs
-+++ b/crates/ide_completion/src/context.rs
-@@ -242,23 +242,24 @@ impl<'a> CompletionContext<'a> {
-     }
- 
-     pub(crate) fn expects_assoc_item(&self) -> bool {
--        matches!(self.completion_location, Some(ImmediateLocation::Trait | ImmediateLocation::Impl))
-+        matches!(
-+            self.completion_location,
-+            Some(ImmediateLocation::Trait) | Some(ImmediateLocation::Impl)
-+        )
-     }
- 
-     pub(crate) fn has_dot_receiver(&self) -> bool {
-         matches!(
-             &self.completion_location,
--            Some(ImmediateLocation::FieldAccess { receiver, .. } | ImmediateLocation::MethodCall { receiver,.. })
-+            Some(ImmediateLocation::FieldAccess { receiver, .. }) | Some(ImmediateLocation::MethodCall { receiver,.. })
-                 if receiver.is_some()
-         )
-     }
- 
-     pub(crate) fn dot_receiver(&self) -> Option<&ast::Expr> {
-         match &self.completion_location {
--            Some(
--                ImmediateLocation::MethodCall { receiver, .. }
--                | ImmediateLocation::FieldAccess { receiver, .. },
--            ) => receiver.as_ref(),
-+            Some(ImmediateLocation::MethodCall { receiver, .. })
-+            | Some(ImmediateLocation::FieldAccess { receiver, .. }) => receiver.as_ref(),
-             _ => None,
-         }
-     }
-@@ -282,7 +283,7 @@ impl<'a> CompletionContext<'a> {
-     pub(crate) fn expects_ident_pat_or_ref_expr(&self) -> bool {
-         matches!(
-             self.completion_location,
--            Some(ImmediateLocation::IdentPat | ImmediateLocation::RefExpr)
-+            Some(ImmediateLocation::IdentPat) | Some(ImmediateLocation::RefExpr)
-         )
-     }
- 
-@@ -293,14 +294,14 @@ impl<'a> CompletionContext<'a> {
-     pub(crate) fn in_use_tree(&self) -> bool {
-         matches!(
-             self.completion_location,
--            Some(ImmediateLocation::Use | ImmediateLocation::UseTree)
-+            Some(ImmediateLocation::Use) | Some(ImmediateLocation::UseTree)
-         )
-     }
- 
-     pub(crate) fn has_impl_or_trait_prev_sibling(&self) -> bool {
-         matches!(
-             self.prev_sibling,
--            Some(ImmediatePrevSibling::ImplDefType | ImmediatePrevSibling::TraitDefName)
-+            Some(ImmediatePrevSibling::ImplDefType) | Some(ImmediatePrevSibling::TraitDefName)
-         )
-     }
- 
-@@ -321,16 +322,14 @@ impl<'a> CompletionContext<'a> {
-             || self.previous_token_is(T![unsafe])
-             || matches!(
-                 self.prev_sibling,
--                Some(ImmediatePrevSibling::Attribute | ImmediatePrevSibling::Visibility)
-+                Some(ImmediatePrevSibling::Attribute) | Some(ImmediatePrevSibling::Visibility)
-             )
-             || matches!(
-                 self.completion_location,
--                Some(
--                    ImmediateLocation::Attribute(_)
--                        | ImmediateLocation::ModDeclaration(_)
--                        | ImmediateLocation::RecordPat(_)
--                        | ImmediateLocation::RecordExpr(_)
--                )
-+                Some(ImmediateLocation::Attribute(_))
-+                    | Some(ImmediateLocation::ModDeclaration(_))
-+                    | Some(ImmediateLocation::RecordPat(_))
-+                    | Some(ImmediateLocation::RecordExpr(_))
-             )
-     }
- 
-@@ -704,8 +703,8 @@ fn path_or_use_tree_qualifier(path: &ast::Path) -> Option<(ast::Path, bool)> {
- 
- fn has_ref(token: &SyntaxToken) -> bool {
-     let mut token = token.clone();
--    for skip in [WHITESPACE, IDENT, T![mut]] {
--        if token.kind() == skip {
-+    for skip in &[WHITESPACE, IDENT, T![mut]] {
-+        if token.kind() == *skip {
-             token = match token.prev_token() {
-                 Some(it) => it,
-                 None => return false,
-diff --git a/crates/ide_completion/src/render/builder_ext.rs b/crates/ide_completion/src/render/builder_ext.rs
-index 33d3a5ee1..749dfc665 100644
---- a/crates/ide_completion/src/render/builder_ext.rs
-+++ b/crates/ide_completion/src/render/builder_ext.rs
-@@ -32,7 +32,7 @@ impl Builder {
-             cov_mark::hit!(no_parens_in_use_item);
-             return false;
-         }
--        if matches!(ctx.path_call_kind(), Some(CallKind::Expr | CallKind::Pat))
-+        if matches!(ctx.path_call_kind(), Some(CallKind::Expr) | Some(CallKind::Pat))
-             | matches!(
-                 ctx.completion_location,
-                 Some(ImmediateLocation::MethodCall { has_parens: true, .. })
-diff --git a/crates/mbe/src/expander/matcher.rs b/crates/mbe/src/expander/matcher.rs
-index b4f2fe9a4..c2a9a38c9 100644
---- a/crates/mbe/src/expander/matcher.rs
-+++ b/crates/mbe/src/expander/matcher.rs
-@@ -804,17 +804,33 @@ impl<'a> TtIter<'a> {
-         };
- 
-         match (punct.char, second, third) {
--            ('.', '.', Some('.' | '=')) | ('<', '<', Some('=')) | ('>', '>', Some('=')) => {
-+            ('.', '.', Some('.'))
-+            | ('.', '.', Some('='))
-+            | ('<', '<', Some('='))
-+            | ('>', '>', Some('=')) => {
-                 let tt2 = self.next().unwrap().clone();
-                 let tt3 = self.next().unwrap().clone();
-                 Ok(tt::Subtree { delimiter: None, token_trees: vec![tt, tt2, tt3] }.into())
-             }
--            ('-' | '!' | '*' | '/' | '&' | '%' | '^' | '+' | '<' | '=' | '>' | '|', '=', _)
--            | ('-' | '=' | '>', '>', _)
-+            ('-', '=', _)
-+            | ('-', '>', _)
-             | (':', ':', _)
-+            | ('!', '=', _)
-             | ('.', '.', _)
-+            | ('*', '=', _)
-+            | ('/', '=', _)
-             | ('&', '&', _)
-+            | ('&', '=', _)
-+            | ('%', '=', _)
-+            | ('^', '=', _)
-+            | ('+', '=', _)
-             | ('<', '<', _)
-+            | ('<', '=', _)
-+            | ('=', '=', _)
-+            | ('=', '>', _)
-+            | ('>', '=', _)
-+            | ('>', '>', _)
-+            | ('|', '=', _)
-             | ('|', '|', _) => {
-                 let tt2 = self.next().unwrap().clone();
-                 Ok(tt::Subtree { delimiter: None, token_trees: vec![tt, tt2] }.into())
-diff --git a/crates/parser/src/grammar/params.rs b/crates/parser/src/grammar/params.rs
-index 5a78675fb..e0c1d3b3a 100644
---- a/crates/parser/src/grammar/params.rs
-+++ b/crates/parser/src/grammar/params.rs
-@@ -184,7 +184,8 @@ fn opt_self_param(p: &mut Parser, m: Marker) -> Result<(), Marker> {
-         if !matches!(
-             (p.current(), la1, la2, la3),
-             (T![&], T![self], _, _)
--                | (T![&], T![mut] | LIFETIME_IDENT, T![self], _)
-+                | (T![&], LIFETIME_IDENT, T![self], _)
-+                | (T![&], T![mut], T![self], _)
-                 | (T![&], LIFETIME_IDENT, T![mut], T![self])
-         ) {
-             return Err(m);
-diff --git a/crates/vfs/src/vfs_path.rs b/crates/vfs/src/vfs_path.rs
-index ef2d7657a..2b3d7fd84 100644
---- a/crates/vfs/src/vfs_path.rs
-+++ b/crates/vfs/src/vfs_path.rs
-@@ -389,7 +389,7 @@ impl VirtualPath {
- 
-             match (file_stem, extension) {
-                 (None, None) => None,
--                (None | Some(""), Some(_)) => Some((file_name, None)),
-+                (None, Some(_)) | (Some(""), Some(_)) => Some((file_name, None)),
-                 (Some(file_stem), extension) => Some((file_stem, extension)),
-             }
-         }
-diff --git a/xtask/src/install.rs b/xtask/src/install.rs
-index 64ab12b42..7e2dccdfe 100644
---- a/xtask/src/install.rs
-+++ b/xtask/src/install.rs
-@@ -8,7 +8,7 @@ use xshell::{cmd, pushd};
- use crate::flags;
- 
- // Latest stable, feel free to send a PR if this lags behind.
--const REQUIRED_RUST_VERSION: u32 = 53;
-+const REQUIRED_RUST_VERSION: u32 = 52;
- 
- impl flags::Install {
-     pub(crate) fn run(self) -> Result<()> {
diff --git a/nixpkgs/pkgs/development/tools/skopeo/default.nix b/nixpkgs/pkgs/development/tools/skopeo/default.nix
index 2af1d5e2a074..ed704b0639a0 100644
--- a/nixpkgs/pkgs/development/tools/skopeo/default.nix
+++ b/nixpkgs/pkgs/development/tools/skopeo/default.nix
@@ -14,13 +14,13 @@
 
 buildGoModule rec {
   pname = "skopeo";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "containers";
     repo = "skopeo";
-    sha256 = "sha256-ZHEujkl+GUk5WjgDWdbJwOIKuOqJnIpGnvD1SsrHuhI=";
+    sha256 = "sha256-ARNsNt5xpXn4ifnnRdmkhJAJq98ri3+oAF+Uov+byI0=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/nixpkgs/pkgs/development/tools/tapview/default.nix b/nixpkgs/pkgs/development/tools/tapview/default.nix
new file mode 100644
index 000000000000..966df4bed65e
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/tapview/default.nix
@@ -0,0 +1,32 @@
+{ asciidoctor
+, fetchFromGitLab
+, lib
+, stdenv
+}:
+
+stdenv.mkDerivation rec {
+  pname = "tapview";
+  version = "1.1";
+
+  nativeBuildInputs = [ asciidoctor ];
+
+  src = fetchFromGitLab {
+    owner = "esr";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-inrxICNglZU/tup+YnHaDiVss32K2OXht/7f8lOZI4g=";
+  };
+
+  # Remove unecessary `echo` checks: `/bin/echo` fails, and `echo -n` works as expected.
+  patches = [ ./dont_check_echo.patch ];
+
+  makeFlags = [ "prefix=$(out)" ];
+
+  meta = with lib; {
+    description = "A minimalist pure consumer for TAP (Test Anything Protocol)";
+    homepage = "https://gitlab.com/esr/tapview";
+    license = licenses.bsd2;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ pamplemousse ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/tapview/dont_check_echo.patch b/nixpkgs/pkgs/development/tools/tapview/dont_check_echo.patch
new file mode 100644
index 000000000000..3b12adb84c57
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/tapview/dont_check_echo.patch
@@ -0,0 +1,44 @@
+diff --git a/tapview b/tapview
+index ad6a33a66d1..4cf9545d42f 100644
+--- a/tapview
++++ b/tapview
+@@ -13,21 +13,6 @@
+ #
+ # This is version 1.1
+ # A newer version may be available at https://gitlab.com/esr/tapview
+-#
+-# POSIX allows but does not mandate that -n suppresses emission of a
+-# trailing newline in echo. Thus, some shell builtin echos don't do
+-# that.  Cope gracefully.
+-# shellcheck disable=SC2039
+-if [ "$(echo -n "a"; echo "b")" != "ab" ]
+-then
+-    ECHO="echo"
+-elif [ "$(/bin/echo -n "a"; /bin/echo "b")" = "ab" ]
+-then
+-    ECHO="/bin/echo"
+-else
+-    echo "tapview: bailing out, your echo lacks -n support."
+-    exit 3
+-fi
+ 
+ OK="."
+ FAIL="F"
+@@ -37,7 +22,7 @@ TODO_OK="u"
+ 
+ ship_char() {
+     # shellcheck disable=SC2039
+-    "${ECHO}" -n "$1"
++    echo -n "$1"
+ }
+ 
+ ship_line() {
+@@ -155,7 +140,7 @@ do
+     fi
+ done
+ 
+-/bin/echo ""
++echo ""
+ 
+ if [ -z "$expect" ]
+ then
diff --git a/nixpkgs/pkgs/development/tools/unity3d/default.nix b/nixpkgs/pkgs/development/tools/unity3d/default.nix
index 9333864c69b9..5470c45b138a 100644
--- a/nixpkgs/pkgs/development/tools/unity3d/default.nix
+++ b/nixpkgs/pkgs/development/tools/unity3d/default.nix
@@ -30,7 +30,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://beta.unity3d.com/download/6e9a27477296/LinuxEditorInstaller/Unity.tar.xz";
-    sha1 = "083imikkrgha5w9sihjvv1m74naxm5yv";
+    sha256 = "10gppnqacs1qzahj077nkcgbfz2lryd0dxnfcmvyc64xpxnj9nlk";
   };
 
   nosuidLib = ./unity-nosuid.c;
diff --git a/nixpkgs/pkgs/development/tools/vala-language-server/default.nix b/nixpkgs/pkgs/development/tools/vala-language-server/default.nix
index 7a5ab2ae4190..1d211e55ad87 100644
--- a/nixpkgs/pkgs/development/tools/vala-language-server/default.nix
+++ b/nixpkgs/pkgs/development/tools/vala-language-server/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vala-language-server";
-  version = "0.48.2";
+  version = "0.48.3";
 
   src = fetchFromGitHub {
-    owner = "benwaffle";
+    owner = "Prince781";
     repo = pname;
     rev = version;
-    sha256 = "sha256-vtb2l4su+zuwGbS9F+Sv0tDInQMH4Uw6GjT+s7fHIio=";
+    sha256 = "sha256-MhVwK4RtEAJcwcJe71ganCaXQHa9jzxyknzc9kJi274=";
   };
 
   passthru = {
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Code Intelligence for Vala & Genie";
-    homepage = "https://github.com/benwaffle/vala-language-server";
+    homepage = "https://github.com/Prince781/vala-language-server";
     license = licenses.lgpl21Plus;
     maintainers = with maintainers; [ andreasfelix ];
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/development/tools/wp-cli/default.nix b/nixpkgs/pkgs/development/tools/wp-cli/default.nix
index 901435bb631f..8d8b1a004d5e 100644
--- a/nixpkgs/pkgs/development/tools/wp-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/wp-cli/default.nix
@@ -1,10 +1,10 @@
 { stdenv, lib, fetchurl, writeText, php, makeWrapper }:
 let
-  version = "2.4.0";
+  version = "2.5.0";
 
   completion = fetchurl {
     url = "https://raw.githubusercontent.com/wp-cli/wp-cli/v${version}/utils/wp-completion.bash";
-    sha256 = "15d330x6d3fizrm6ckzmdknqg6wjlx5fr87bmkbd5s6a1ihs0g24";
+    sha256 = "sha256-RDygYQzK6NLWrOug7EqnkpuH7Wz1T2Zq/tGNZjoYo5U=";
   };
 
   ini = writeText "php.ini" ''
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/wp-cli/wp-cli/releases/download/v${version}/${pname}-${version}.phar";
-    sha256 = "0h5mjxrw4z3648v4wb4pvapz2a1mlmbszgggg4b7bvrrxn3cr78k";
+    sha256 = "sha256-vghT6fRD84SFZgcIcdNE6K2B6x4V0V3PkyS0p14nJ4k=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/web/cypress/default.nix b/nixpkgs/pkgs/development/web/cypress/default.nix
index 9563563bc427..0b61aa23086f 100644
--- a/nixpkgs/pkgs/development/web/cypress/default.nix
+++ b/nixpkgs/pkgs/development/web/cypress/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "cypress";
-  version = "7.5.0";
+  version = "7.7.0";
 
   src = fetchzip {
     url = "https://cdn.cypress.io/desktop/${version}/linux-x64/cypress.zip";
-    sha256 = "07i475b17v8qazdq6qzjqsdfpvhg1b8x1p5a51hwhcxaym3p5njj";
+    sha256 = "1mr46raha5aqi8ba0cqvyil5z4vcr46hnxqqmpk3fkrr8awd2897";
   };
 
   passthru.updateScript = ./update.sh;
diff --git a/nixpkgs/pkgs/development/web/deno/default.nix b/nixpkgs/pkgs/development/web/deno/default.nix
index 85f7c294e9d6..b469a49eb722 100644
--- a/nixpkgs/pkgs/development/web/deno/default.nix
+++ b/nixpkgs/pkgs/development/web/deno/default.nix
@@ -17,15 +17,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "deno";
-  version = "1.11.2";
+  version = "1.11.3";
 
   src = fetchFromGitHub {
     owner = "denoland";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-/dy+jAm9TioDF8rZtLNFlKcu7ASzvvoVq4dun4gkiCA=";
+    sha256 = "sha256-Ru75eyyyaaFDD71AzDE5kgLsiB7thjqrJvvnA/PdvrA=";
   };
-  cargoSha256 = "sha256-AUNDwbiGHiA+GADnLo/CmKAMhv68BPnvXsZaWacDJ2Y=";
+  cargoSha256 = "sha256-8UnsmIDdFEKp4diJ6Cr/fsbPKlw7wGHmGjXu5oqh2HI=";
 
   # Install completions post-install
   nativeBuildInputs = [ installShellFiles ];
diff --git a/nixpkgs/pkgs/development/web/flyctl/default.nix b/nixpkgs/pkgs/development/web/flyctl/default.nix
index 130ff9c9bcbf..3c61121b0357 100644
--- a/nixpkgs/pkgs/development/web/flyctl/default.nix
+++ b/nixpkgs/pkgs/development/web/flyctl/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "flyctl";
-  version = "0.0.227";
+  version = "0.0.228";
 
   src = fetchFromGitHub {
     owner = "superfly";
     repo = "flyctl";
     rev = "v${version}";
-    sha256 = "sha256-nql0zK2H0FDQMsnSJSNzC7YmvUZfITHH5p1efFHsj58=";
+    sha256 = "sha256-h8ZiAabB0IIJoeQMMvOO1lQNMdFYAoTXKcTAPmLP5Sw=";
   };
 
   preBuild = ''
diff --git a/nixpkgs/pkgs/development/web/insomnia/default.nix b/nixpkgs/pkgs/development/web/insomnia/default.nix
index 3ba900f3f691..8fcf4696d0e1 100644
--- a/nixpkgs/pkgs/development/web/insomnia/default.nix
+++ b/nixpkgs/pkgs/development/web/insomnia/default.nix
@@ -16,12 +16,12 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "insomnia";
-  version = "2021.3.0";
+  version = "2021.4.0";
 
   src = fetchurl {
     url =
       "https://github.com/Kong/insomnia/releases/download/core%40${version}/Insomnia.Core-${version}.deb";
-    sha256 = "sha256-RtEkWi0J3nYzT+IhdyBlGeUE2SCmhlnfw0L6sOvE4WI=";
+    sha256 = "sha256-lMQWoShlEACTrcGgQtfPGVQ4X8pCG/6SkXtz+rWAOyg=";
   };
 
   nativeBuildInputs =
diff --git a/nixpkgs/pkgs/development/web/nodejs/v12.nix b/nixpkgs/pkgs/development/web/nodejs/v12.nix
index 7fad6a020a88..cfd6c211ab53 100644
--- a/nixpkgs/pkgs/development/web/nodejs/v12.nix
+++ b/nixpkgs/pkgs/development/web/nodejs/v12.nix
@@ -8,7 +8,7 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "12.22.1";
-    sha256 = "12drpkffn79xx84pffg9y2cn9fiwycgaa2rjj3ix6visfzvhsrfx";
+    version = "12.22.3";
+    sha256 = "143ihn30jd08nk19saxn6qp3ldc9yvy8w338i4cg9256wgx120im";
     patches = lib.optional stdenv.isDarwin ./bypass-xcodebuild.diff;
   }
diff --git a/nixpkgs/pkgs/development/web/nodejs/v14.nix b/nixpkgs/pkgs/development/web/nodejs/v14.nix
index 27b2a4f33191..ad6c8aacddc3 100644
--- a/nixpkgs/pkgs/development/web/nodejs/v14.nix
+++ b/nixpkgs/pkgs/development/web/nodejs/v14.nix
@@ -7,7 +7,7 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "14.17.1";
-    sha256 = "0zr4b9gja8f9611rnmc9yacmh90bd76xv9ayikcyqdfzdpax5wfx";
+    version = "14.17.3";
+    sha256 = "0j3zd5vavsapqs9h682mr8r5i7xp47n0w4vjvm8rw3rn3dg4p2sb";
     patches = lib.optional stdenv.isDarwin ./bypass-xcodebuild.diff;
   }
diff --git a/nixpkgs/pkgs/development/web/nodejs/v15.nix b/nixpkgs/pkgs/development/web/nodejs/v15.nix
deleted file mode 100644
index e6903098b302..000000000000
--- a/nixpkgs/pkgs/development/web/nodejs/v15.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ callPackage, icu68, python3, enableNpm ? true }:
-
-let
-  buildNodejs = callPackage ./nodejs.nix {
-    icu = icu68;
-    python = python3;
-  };
-in
-  buildNodejs {
-    inherit enableNpm;
-    version = "15.14.0";
-    sha256 = "0vm6jdazqjd1plqsgngzvjrafv2d3mdahk6il4ray02gx97dq8l1";
-  }
diff --git a/nixpkgs/pkgs/development/web/nodejs/v16.nix b/nixpkgs/pkgs/development/web/nodejs/v16.nix
index 8514baec8b16..350abed7ec7a 100644
--- a/nixpkgs/pkgs/development/web/nodejs/v16.nix
+++ b/nixpkgs/pkgs/development/web/nodejs/v16.nix
@@ -8,6 +8,6 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "16.4.0";
-    sha256 = "07f8g3hs0v7nsdvzlsr1p4pzgb04qn54pnhmbdsgmmb41cp227pr";
+    version = "16.4.2";
+    sha256 = "048x4vznpi6dai6fripg0yk21kfxm9s2mw7jb0rzisyv5aw8v2dj";
   }
diff --git a/nixpkgs/pkgs/games/cataclysm-dda/common.nix b/nixpkgs/pkgs/games/cataclysm-dda/common.nix
index d975a60c1fd9..d91db073ff61 100644
--- a/nixpkgs/pkgs/games/cataclysm-dda/common.nix
+++ b/nixpkgs/pkgs/games/cataclysm-dda/common.nix
@@ -13,17 +13,15 @@ let
   tilesDeps = [ SDL2 SDL2_image SDL2_mixer SDL2_ttf freetype ]
     ++ optionals stdenv.isDarwin [ Cocoa ];
 
-  installXDGAppLauncher = ''
-    launcher="$out/share/applications/cataclysm-dda.desktop"
-    install -D -m 444 data/xdg/*cataclysm-dda.desktop -T "$launcher"
-    sed -i "$launcher" -e "s,\(Exec=\)\(cataclysm-tiles\),\1$out/bin/\2,"
-    install -D -m 444 data/xdg/cataclysm-dda.svg -t $out/share/icons/hicolor/scalable/apps
+  patchDesktopFile = ''
+    substituteInPlace $out/share/applications/org.cataclysmdda.CataclysmDDA.desktop \
+      --replace "Exec=cataclysm-tiles" "Exec=$out/bin/cataclysm-tiles"
   '';
 
   installMacOSAppLauncher = ''
     app=$out/Applications/Cataclysm.app
-    install -D -m 444 data/osx/Info.plist -t $app/Contents
-    install -D -m 444 data/osx/AppIcon.icns -t $app/Contents/Resources
+    install -D -m 444 build-data/osx/Info.plist -t $app/Contents
+    install -D -m 444 build-data/osx/AppIcon.icns -t $app/Contents/Resources
     mkdir $app/Contents/MacOS
     launcher=$app/Contents/MacOS/Cataclysm.sh
     cat << EOF > $launcher
@@ -58,22 +56,19 @@ stdenv.mkDerivation {
   ] ++ optionals tiles [
     "TILES=1" "SOUND=1"
   ] ++ optionals stdenv.isDarwin [
-    "NATIVE=osx" "CLANG=1"
+    "NATIVE=osx"
+    "CLANG=1"
+    "OSX_MIN=${stdenv.targetPlatform.darwinMinVersion}"
   ];
 
   postInstall = optionalString tiles
   ( if !stdenv.isDarwin
-    then installXDGAppLauncher
+    then patchDesktopFile
     else installMacOSAppLauncher
   );
 
   dontStrip = debug;
 
-  # https://hydra.nixos.org/build/65193254
-  # src/weather_data.cpp:203:1: fatal error: opening dependency file obj/tiles/weather_data.d: No such file or directory
-  # make: *** [Makefile:687: obj/tiles/weather_data.o] Error 1
-  enableParallelBuilding = false;
-
   passthru = {
     isTiles = tiles;
     isCurses = !tiles;
diff --git a/nixpkgs/pkgs/games/cataclysm-dda/git.nix b/nixpkgs/pkgs/games/cataclysm-dda/git.nix
index b07689c09307..3dc0e944b5ef 100644
--- a/nixpkgs/pkgs/games/cataclysm-dda/git.nix
+++ b/nixpkgs/pkgs/games/cataclysm-dda/git.nix
@@ -2,9 +2,9 @@
 , tiles ? true, Cocoa
 , debug ? false
 , useXdgDir ? false
-, version ? "2020-12-09"
-, rev ? "cb02195d9fb5ba71f35a105be4104c3d8883065c"
-, sha256 ? "108cs6vp99qmqqfnmczad0xjgcl82bypm5xszwnlfcswdsrfs4da"
+, version ? "2021-07-03"
+, rev ? "9017808252e1e149446c8f8bd7a6582ce0f95285"
+, sha256 ? "0qrvkbyg098jb9hv69sg5093b1vj8f4n75p73v01jnmyxlz3ax28"
 }:
 
 let
diff --git a/nixpkgs/pkgs/games/cataclysm-dda/stable.nix b/nixpkgs/pkgs/games/cataclysm-dda/stable.nix
index d0452090ca65..ba475ac9601d 100644
--- a/nixpkgs/pkgs/games/cataclysm-dda/stable.nix
+++ b/nixpkgs/pkgs/games/cataclysm-dda/stable.nix
@@ -10,13 +10,13 @@ let
   };
 
   self = common.overrideAttrs (common: rec {
-    version = "0.E-3";
+    version = "0.F";
 
     src = fetchFromGitHub {
       owner = "CleverRaven";
       repo = "Cataclysm-DDA";
       rev = version;
-      sha256 = "qhHtsm5cM0ct/7qXev0SiLInO2jqs2odxhWndLfRDIE=";
+      sha256 = "1jid8lcl04y768b3psj1ifhx96lmd6fn1j2wzxhl4ic7ra66p2z3";
     };
 
     meta = common.meta // {
diff --git a/nixpkgs/pkgs/games/cbonsai/default.nix b/nixpkgs/pkgs/games/cbonsai/default.nix
index eda9e37752e6..98b55729f0e8 100644
--- a/nixpkgs/pkgs/games/cbonsai/default.nix
+++ b/nixpkgs/pkgs/games/cbonsai/default.nix
@@ -1,14 +1,14 @@
 { stdenv, lib, fetchFromGitLab, ncurses, pkg-config, nix-update-script }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.0";
+  version = "1.2.1";
   pname = "cbonsai";
 
   src = fetchFromGitLab {
     owner = "jallbrit";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-j3RNCUxNyphZy5c7ZcKwyVbcYt7l6wiB+r7P3sWPFwA=";
+    sha256 = "sha256-kofJqMoBsvHrV3XfIQbSYO7OWpN7UgvrSs3WX3IVAJs=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/games/dwarf-fortress/default.nix b/nixpkgs/pkgs/games/dwarf-fortress/default.nix
index 2a4df9bf7cf7..3e96351acbbb 100644
--- a/nixpkgs/pkgs/games/dwarf-fortress/default.nix
+++ b/nixpkgs/pkgs/games/dwarf-fortress/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, stdenv, stdenvNoCC, gccStdenv, lib, recurseIntoAttrs }:
+{ stdenv, stdenvNoCC, gccStdenv, lib, recurseIntoAttrs, libsForQt5, newScope, texlive, perlPackages, jdk8, jre8 }:
 
 # To whomever it may concern:
 #
@@ -35,7 +35,7 @@
 with lib;
 
 let
-  callPackage = pkgs.newScope self;
+  callPackage = newScope self;
 
   # The latest Dwarf Fortress version. Maintainers: when a new version comes
   # out, ensure that (unfuck|dfhack|twbt) are all up to date before changing
@@ -45,51 +45,54 @@ let
   # Converts a version to a package name.
   versionToName = version: "dwarf-fortress_${lib.replaceStrings ["."] ["_"] version}";
 
-  dwarf-therapist-original = pkgs.qt5.callPackage ./dwarf-therapist {
-    texlive = pkgs.texlive.combine {
-      inherit (pkgs.texlive) scheme-basic float caption wrapfig adjmulticol sidecap preprint enumitem;
+  dwarf-therapist-original = libsForQt5.callPackage ./dwarf-therapist {
+    texlive = texlive.combine {
+      inherit (texlive) scheme-basic float caption wrapfig adjmulticol sidecap preprint enumitem;
     };
   };
 
   # A map of names to each Dwarf Fortress package we know about.
-  df-games = lib.listToAttrs (map (dfVersion: {
-    name = versionToName dfVersion;
-    value =
-      let
-        # I can't believe this syntax works. Spikes of Nix code indeed...
-        dwarf-fortress = callPackage ./game.nix {
-          inherit dfVersion;
-          inherit dwarf-fortress-unfuck;
+  df-games = lib.listToAttrs (map
+    (dfVersion: {
+      name = versionToName dfVersion;
+      value =
+        let
+          # I can't believe this syntax works. Spikes of Nix code indeed...
+          dwarf-fortress = callPackage ./game.nix {
+            inherit dfVersion;
+            inherit dwarf-fortress-unfuck;
+          };
+
+          # unfuck is linux-only right now, we will only use it there.
+          dwarf-fortress-unfuck =
+            if stdenv.isLinux then callPackage ./unfuck.nix { inherit dfVersion; }
+            else null;
+
+          twbt = callPackage ./twbt { inherit dfVersion; };
+
+          dfhack = callPackage ./dfhack {
+            inherit (perlPackages) XMLLibXML XMLLibXSLT;
+            inherit dfVersion twbt;
+            stdenv = gccStdenv;
+          };
+
+          dwarf-therapist = libsForQt5.callPackage ./dwarf-therapist/wrapper.nix {
+            inherit dwarf-fortress;
+            dwarf-therapist = dwarf-therapist-original;
+          };
+        in
+        callPackage ./wrapper {
+          inherit (self) themes;
+
+          dwarf-fortress = dwarf-fortress;
+          twbt = twbt;
+          dfhack = dfhack;
+          dwarf-therapist = dwarf-therapist;
+
+          jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
         };
-
-        # unfuck is linux-only right now, we will only use it there.
-        dwarf-fortress-unfuck = if stdenv.isLinux then callPackage ./unfuck.nix { inherit dfVersion; }
-                                else null;
-
-        twbt = callPackage ./twbt { inherit dfVersion; };
-
-        dfhack = callPackage ./dfhack {
-          inherit (pkgs.perlPackages) XMLLibXML XMLLibXSLT;
-          inherit dfVersion twbt;
-          stdenv = gccStdenv;
-        };
-
-        dwarf-therapist = callPackage ./dwarf-therapist/wrapper.nix {
-          inherit dwarf-fortress;
-          dwarf-therapist = dwarf-therapist-original;
-        };
-      in
-      callPackage ./wrapper {
-        inherit (self) themes;
-
-        dwarf-fortress = dwarf-fortress;
-        twbt = twbt;
-        dfhack = dfhack;
-        dwarf-therapist = dwarf-therapist;
-
-        jdk = pkgs.jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
-      };
-  }) (lib.attrNames self.df-hashes));
+    })
+    (lib.attrNames self.df-hashes));
 
   self = rec {
     df-hashes = builtins.fromJSON (builtins.readFile ./game.json);
@@ -107,7 +110,7 @@ let
     soundSense = callPackage ./soundsense.nix { };
 
     legends-browser = callPackage ./legends-browser {
-      jre = pkgs.jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
+      jre = jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
     };
 
     themes = recurseIntoAttrs (callPackage ./themes {
@@ -119,4 +122,5 @@ let
     cla-theme = themes.cla;
   };
 
-in self // df-games
+in
+self // df-games
diff --git a/nixpkgs/pkgs/games/dwarf-fortress/dfhack/default.nix b/nixpkgs/pkgs/games/dwarf-fortress/dfhack/default.nix
index 2e27d9493bd1..4bfb69355a7e 100644
--- a/nixpkgs/pkgs/games/dwarf-fortress/dfhack/default.nix
+++ b/nixpkgs/pkgs/games/dwarf-fortress/dfhack/default.nix
@@ -1,7 +1,20 @@
-{ stdenv, buildEnv, lib, fetchFromGitHub, cmake, writeScriptBin
-, perl, XMLLibXML, XMLLibXSLT, zlib, ruby
-, enableStoneSense ? false,  allegro5, libGLU, libGL
-, enableTWBT ? true, twbt
+{ stdenv
+, buildEnv
+, lib
+, fetchFromGitHub
+, cmake
+, writeScriptBin
+, perl
+, XMLLibXML
+, XMLLibXSLT
+, zlib
+, ruby
+, enableStoneSense ? false
+, allegro5
+, libGLU
+, libGL
+, enableTWBT ? true
+, twbt
 , SDL
 , dfVersion
 }:
@@ -60,9 +73,10 @@ let
     };
   };
 
-  release = if hasAttr dfVersion dfhack-releases
-            then getAttr dfVersion dfhack-releases
-            else throw "[DFHack] Unsupported Dwarf Fortress version: ${dfVersion}";
+  release =
+    if hasAttr dfVersion dfhack-releases
+    then getAttr dfVersion dfhack-releases
+    else throw "[DFHack] Unsupported Dwarf Fortress version: ${dfVersion}";
 
   version = release.dfHackRelease;
 
@@ -125,7 +139,7 @@ let
     nativeBuildInputs = [ cmake perl XMLLibXML XMLLibXSLT fakegit ];
     # We don't use system libraries because dfhack needs old C++ ABI.
     buildInputs = [ zlib SDL ]
-               ++ lib.optionals enableStoneSense [ allegro5 libGLU libGL ];
+      ++ lib.optionals enableStoneSense [ allegro5 libGLU libGL ];
 
     preConfigure = ''
       # Trick build system into believing we have .git
@@ -138,7 +152,7 @@ let
     '';
 
     cmakeFlags = [ "-DDFHACK_BUILD_ARCH=${arch}" "-DDOWNLOAD_RUBY=OFF" ]
-              ++ lib.optionals enableStoneSense [ "-DBUILD_STONESENSE=ON" "-DSTONESENSE_INTERNAL_SO=OFF" ];
+      ++ lib.optionals enableStoneSense [ "-DBUILD_STONESENSE=ON" "-DSTONESENSE_INTERNAL_SO=OFF" ];
 
     # dfhack expects an unversioned libruby.so to be present in the hack
     # subdirectory for ruby plugins to function.
diff --git a/nixpkgs/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix b/nixpkgs/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
index 243db1e1c398..ec765e71158e 100644
--- a/nixpkgs/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
+++ b/nixpkgs/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
@@ -1,5 +1,12 @@
-{ lib, stdenv, fetchFromGitHub, qtbase
-, qtdeclarative, cmake, texlive, ninja }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, qtbase
+, qtdeclarative
+, cmake
+, texlive
+, ninja
+}:
 
 stdenv.mkDerivation rec {
   pname = "dwarf-therapist";
@@ -15,10 +22,11 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ texlive cmake ninja ];
   buildInputs = [ qtbase qtdeclarative ];
 
-  installPhase = if stdenv.isDarwin then ''
-    mkdir -p $out/Applications
-    cp -r DwarfTherapist.app $out/Applications
-  '' else null;
+  installPhase =
+    if stdenv.isDarwin then ''
+      mkdir -p $out/Applications
+      cp -r DwarfTherapist.app $out/Applications
+    '' else null;
 
   dontWrapQtApps = true;
 
diff --git a/nixpkgs/pkgs/games/dwarf-fortress/dwarf-therapist/dwarf-therapist.in b/nixpkgs/pkgs/games/dwarf-fortress/dwarf-therapist/dwarf-therapist.in
index 77936c430e2b..5ae0a35b5e20 100644
--- a/nixpkgs/pkgs/games/dwarf-fortress/dwarf-therapist/dwarf-therapist.in
+++ b/nixpkgs/pkgs/games/dwarf-fortress/dwarf-therapist/dwarf-therapist.in
@@ -5,22 +5,21 @@
 install_dir="@install@"
 therapist_dir="@therapist@"
 
-cat <<EOF >&2
+@cat@ <<EOF >&2
 Using $DT_DIR as Dwarf Therapist overlay directory.
 EOF
 
 update_path() {
   local path="$1"
 
-  mkdir -p "$DT_DIR/$(dirname "$path")"
+  @mkdir@ -p "$DT_DIR/$(@dirname@ "$path")"
   if [ ! -e "$DT_DIR/$path" ] || [ -L "$DT_DIR/$path" ]; then
-    rm -f "$DT_DIR/$path"
-    ln -s "$install_dir/share/dwarftherapist/$path" "$DT_DIR/$path"
+    @rm@ -f "$DT_DIR/$path"
+    @ln@ -s "$install_dir/share/dwarftherapist/$path" "$DT_DIR/$path"
   fi
 }
 
 cd "$install_dir/share/dwarftherapist"
 update_path memory_layouts
 
-QT_QPA_PLATFORM_PLUGIN_PATH="@qt_plugin_path@" \
-  exec "$therapist_dir/bin/dwarftherapist" "$@"
+exec "$therapist_dir/bin/dwarftherapist" "$@"
diff --git a/nixpkgs/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix b/nixpkgs/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix
index 7db79012ec65..93f51df1819d 100644
--- a/nixpkgs/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix
+++ b/nixpkgs/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix
@@ -1,8 +1,9 @@
-{ pkgs, stdenv, dwarf-therapist, dwarf-fortress, makeWrapper }:
+{ stdenv, dwarf-therapist, dwarf-fortress, substituteAll, coreutils, wrapQtAppsHook }:
 
 let
-  platformSlug = if stdenv.targetPlatform.is32bit then
-    "linux32" else "linux64";
+  platformSlug =
+    if stdenv.targetPlatform.is32bit then
+      "linux32" else "linux64";
   inifile = "linux/v0.${dwarf-fortress.baseVersion}.${dwarf-fortress.patchVersion}_${platformSlug}.ini";
 
 in
@@ -10,24 +11,32 @@ in
 stdenv.mkDerivation {
   name = "dwarf-therapist-${dwarf-therapist.version}";
 
-  wrapper = ./dwarf-therapist.in;
+  wrapper = substituteAll {
+    src = ./dwarf-therapist.in;
+    stdenv_shell = "${stdenv.shell}";
+    rm = "${coreutils}/bin/rm";
+    ln = "${coreutils}/bin/ln";
+    cat = "${coreutils}/bin/cat";
+    mkdir = "${coreutils}/bin/mkdir";
+    dirname = "${coreutils}/bin/dirname";
+    therapist = "${dwarf-therapist}";
+  };
 
   paths = [ dwarf-therapist ];
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ wrapQtAppsHook ];
 
   passthru = { inherit dwarf-fortress dwarf-therapist; };
 
   buildCommand = ''
     mkdir -p $out/bin
+
+    install -Dm755 $wrapper $out/bin/dwarftherapist
     ln -s $out/bin/dwarftherapist $out/bin/DwarfTherapist
-    substitute $wrapper $out/bin/dwarftherapist \
-      --subst-var-by stdenv_shell ${stdenv.shell} \
-      --subst-var-by install $out \
-      --subst-var-by therapist ${dwarf-therapist} \
-      --subst-var-by qt_plugin_path "${pkgs.qt5.qtbase}/lib/qt-${pkgs.qt5.qtbase.qtCompatVersion}/plugins/platforms"
 
-    chmod 755 $out/bin/dwarftherapist
+    substituteInPlace $out/bin/dwarftherapist \
+      --subst-var-by install $out
+    wrapQtApp $out/bin/dwarftherapist
 
     # Fix up memory layouts
     rm -rf $out/share/dwarftherapist/memory_layouts/linux
diff --git a/nixpkgs/pkgs/games/dwarf-fortress/game.nix b/nixpkgs/pkgs/games/dwarf-fortress/game.nix
index 9200d01aa985..d73b111919e1 100644
--- a/nixpkgs/pkgs/games/dwarf-fortress/game.nix
+++ b/nixpkgs/pkgs/games/dwarf-fortress/game.nix
@@ -1,10 +1,16 @@
-{ stdenv, lib, fetchurl
-, SDL, dwarf-fortress-unfuck
-
-# Our own "unfuck" libs for macOS
-, ncurses, fmodex, gcc
-
-, dfVersion, df-hashes
+{ stdenv
+, lib
+, fetchurl
+, SDL
+, dwarf-fortress-unfuck
+
+  # Our own "unfuck" libs for macOS
+, ncurses
+, fmodex
+, gcc
+
+, dfVersion
+, df-hashes
 }:
 
 with lib;
@@ -30,15 +36,18 @@ let
   baseVersion = elemAt dfVersionTriple 1;
   patchVersion = elemAt dfVersionTriple 2;
 
-  game = if hasAttr dfVersion df-hashes
-         then getAttr dfVersion df-hashes
-         else throw "Unknown Dwarf Fortress version: ${dfVersion}";
-  dfPlatform = if hasAttr stdenv.hostPlatform.system platforms
-               then getAttr stdenv.hostPlatform.system platforms
-               else throw "Unsupported system: ${stdenv.hostPlatform.system}";
-  sha256 = if hasAttr dfPlatform game
-           then getAttr dfPlatform game
-           else throw "Unsupported dfPlatform: ${dfPlatform}";
+  game =
+    if hasAttr dfVersion df-hashes
+    then getAttr dfVersion df-hashes
+    else throw "Unknown Dwarf Fortress version: ${dfVersion}";
+  dfPlatform =
+    if hasAttr stdenv.hostPlatform.system platforms
+    then getAttr stdenv.hostPlatform.system platforms
+    else throw "Unsupported system: ${stdenv.hostPlatform.system}";
+  sha256 =
+    if hasAttr dfPlatform game
+    then getAttr dfPlatform game
+    else throw "Unsupported dfPlatform: ${dfPlatform}";
 
 in
 
diff --git a/nixpkgs/pkgs/games/dwarf-fortress/lazy-pack.nix b/nixpkgs/pkgs/games/dwarf-fortress/lazy-pack.nix
index 41620dd66f1c..b34dbd3c74b8 100644
--- a/nixpkgs/pkgs/games/dwarf-fortress/lazy-pack.nix
+++ b/nixpkgs/pkgs/games/dwarf-fortress/lazy-pack.nix
@@ -1,5 +1,10 @@
-{ stdenvNoCC, lib, buildEnv
-, df-games, themes, latestVersion, versionToName
+{ stdenvNoCC
+, lib
+, buildEnv
+, df-games
+, themes
+, latestVersion
+, versionToName
 , dfVersion ? latestVersion
   # This package should, at any given time, provide an opinionated "optimal"
   # DF experience. It's the equivalent of the Lazy Newbie Pack, that is, and
@@ -9,9 +14,10 @@
 , enableSoundSense ? true
 , enableStoneSense ? true
 , enableDwarfTherapist ? true
-, enableLegendsBrowser ? true, legends-browser
+, enableLegendsBrowser ? true
+, legends-browser
 , theme ? themes.phoebus
-# General config options:
+  # General config options:
 , enableIntro ? true
 , enableTruetype ? true
 , enableFPS ? false
@@ -23,9 +29,10 @@ with lib;
 
 let
   dfGame = versionToName dfVersion;
-  dwarf-fortress = if hasAttr dfGame df-games
-                   then getAttr dfGame df-games
-                   else throw "Unknown Dwarf Fortress version: ${dfVersion}";
+  dwarf-fortress =
+    if hasAttr dfGame df-games
+    then getAttr dfGame df-games
+    else throw "Unknown Dwarf Fortress version: ${dfVersion}";
   dwarf-therapist = dwarf-fortress.dwarf-therapist;
 in
 buildEnv {
@@ -33,10 +40,11 @@ buildEnv {
   paths = [
     (dwarf-fortress.override {
       inherit enableDFHack enableTWBT enableSoundSense enableStoneSense theme
-              enableIntro enableTruetype enableFPS enableTextMode enableSound;
-    })]
-    ++ lib.optional enableDwarfTherapist dwarf-therapist
-    ++ lib.optional enableLegendsBrowser legends-browser;
+        enableIntro enableTruetype enableFPS enableTextMode enableSound;
+    })
+  ]
+  ++ lib.optional enableDwarfTherapist dwarf-therapist
+  ++ lib.optional enableLegendsBrowser legends-browser;
 
   meta = with lib; {
     description = "An opinionated wrapper for Dwarf Fortress";
diff --git a/nixpkgs/pkgs/games/dwarf-fortress/soundsense.nix b/nixpkgs/pkgs/games/dwarf-fortress/soundsense.nix
index a59c87306903..5202c13b5b8a 100644
--- a/nixpkgs/pkgs/games/dwarf-fortress/soundsense.nix
+++ b/nixpkgs/pkgs/games/dwarf-fortress/soundsense.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchzip, dos2unix
+{ stdenv
+, fetchzip
+, dos2unix
 , soundPack ? stdenv.mkDerivation {
     name = "soundsense-soundpack";
     src = fetchzip {
@@ -8,7 +10,8 @@
     installPhase = ''
       cp -r . $out
     '';
-}}:
+  }
+}:
 
 stdenv.mkDerivation rec {
   version = "2016-1_196";
diff --git a/nixpkgs/pkgs/games/dwarf-fortress/themes/default.nix b/nixpkgs/pkgs/games/dwarf-fortress/themes/default.nix
index 6241df7590d9..c6987a1d16bd 100644
--- a/nixpkgs/pkgs/games/dwarf-fortress/themes/default.nix
+++ b/nixpkgs/pkgs/games/dwarf-fortress/themes/default.nix
@@ -1,19 +1,21 @@
-{lib, fetchFromGitHub, ...}:
+{ lib, fetchFromGitHub, ... }:
 
 with builtins;
 
-listToAttrs (map (v: {
-  inherit (v) name;
-  value = fetchFromGitHub {
-    name = "${v.name}-${v.version}";
-    owner = "DFgraphics";
-    repo = v.name;
-    rev = v.version;
-    sha256 = v.sha256;
-    meta = with lib; {
-      platforms = platforms.all;
-      maintainers = [ maintainers.matthewbauer maintainers.shazow ];
-      license = licenses.free;
+listToAttrs (map
+  (v: {
+    inherit (v) name;
+    value = fetchFromGitHub {
+      name = "${v.name}-${v.version}";
+      owner = "DFgraphics";
+      repo = v.name;
+      rev = v.version;
+      sha256 = v.sha256;
+      meta = with lib; {
+        platforms = platforms.all;
+        maintainers = [ maintainers.matthewbauer maintainers.shazow ];
+        license = licenses.free;
+      };
     };
-  };
-}) (fromJSON (readFile ./themes.json)))
+  })
+  (fromJSON (readFile ./themes.json)))
diff --git a/nixpkgs/pkgs/games/dwarf-fortress/twbt/default.nix b/nixpkgs/pkgs/games/dwarf-fortress/twbt/default.nix
index bee2c28e5308..e6c82e32f0db 100644
--- a/nixpkgs/pkgs/games/dwarf-fortress/twbt/default.nix
+++ b/nixpkgs/pkgs/games/dwarf-fortress/twbt/default.nix
@@ -1,4 +1,7 @@
-{ stdenvNoCC, lib, fetchurl, unzip
+{ stdenvNoCC
+, lib
+, fetchurl
+, unzip
 , dfVersion
 }:
 
@@ -49,9 +52,10 @@ let
     };
   };
 
-  release = if hasAttr dfVersion twbt-releases
-            then getAttr dfVersion twbt-releases
-            else throw "[TWBT] Unsupported Dwarf Fortress version: ${dfVersion}";
+  release =
+    if hasAttr dfVersion twbt-releases
+    then getAttr dfVersion twbt-releases
+    else throw "[TWBT] Unsupported Dwarf Fortress version: ${dfVersion}";
 in
 
 stdenvNoCC.mkDerivation rec {
diff --git a/nixpkgs/pkgs/games/dwarf-fortress/unfuck.nix b/nixpkgs/pkgs/games/dwarf-fortress/unfuck.nix
index 0fb08aa7e87f..7e96b284044d 100644
--- a/nixpkgs/pkgs/games/dwarf-fortress/unfuck.nix
+++ b/nixpkgs/pkgs/games/dwarf-fortress/unfuck.nix
@@ -1,7 +1,21 @@
-{ stdenv, lib, fetchFromGitHub, cmake
-, libGL, libSM, SDL, SDL_image, SDL_ttf, glew, openalSoft
-, ncurses, glib, gtk2, libsndfile, zlib
-, dfVersion, pkg-config
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, libGL
+, libSM
+, SDL
+, SDL_image
+, SDL_ttf
+, glew
+, openalSoft
+, ncurses
+, glib
+, gtk2
+, libsndfile
+, zlib
+, dfVersion
+, pkg-config
 }:
 
 with lib;
@@ -46,9 +60,10 @@ let
     };
   };
 
-  release = if hasAttr dfVersion unfuck-releases
-            then getAttr dfVersion unfuck-releases
-            else throw "[unfuck] Unknown Dwarf Fortress version: ${dfVersion}";
+  release =
+    if hasAttr dfVersion unfuck-releases
+    then getAttr dfVersion unfuck-releases
+    else throw "[unfuck] Unknown Dwarf Fortress version: ${dfVersion}";
 in
 
 stdenv.mkDerivation {
@@ -68,8 +83,17 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ cmake pkg-config ];
   buildInputs = [
-    libSM SDL SDL_image SDL_ttf glew openalSoft
-    ncurses gtk2 libsndfile zlib libGL
+    libSM
+    SDL
+    SDL_image
+    SDL_ttf
+    glew
+    openalSoft
+    ncurses
+    gtk2
+    libsndfile
+    zlib
+    libGL
   ];
 
   # Don't strip unused symbols; dfhack hooks into some of them.
diff --git a/nixpkgs/pkgs/games/dwarf-fortress/wrapper/default.nix b/nixpkgs/pkgs/games/dwarf-fortress/wrapper/default.nix
index 73288ab659f3..ce989b98ffbd 100644
--- a/nixpkgs/pkgs/games/dwarf-fortress/wrapper/default.nix
+++ b/nixpkgs/pkgs/games/dwarf-fortress/wrapper/default.nix
@@ -1,13 +1,22 @@
-{ stdenv, lib, buildEnv, substituteAll, runCommand
+{ stdenv
+, lib
+, buildEnv
+, substituteAll
+, runCommand
+, coreutils
 , dwarf-fortress
 , dwarf-therapist
-, enableDFHack ? false, dfhack
-, enableSoundSense ? false, soundSense, jdk
+, enableDFHack ? false
+, dfhack
+, enableSoundSense ? false
+, soundSense
+, jdk
 , enableStoneSense ? false
-, enableTWBT ? false, twbt
-, themes ? {}
+, enableTWBT ? false
+, twbt
+, themes ? { }
 , theme ? null
-# General config options:
+  # General config options:
 , enableIntro ? true
 , enableTruetype ? true
 , enableFPS ? false
@@ -31,11 +40,11 @@ let
   # These are in inverse order for first packages to override the next ones.
   themePkg = lib.optional (theme != null) ptheme;
   pkgs = lib.optional enableDFHack dfhack_
-         ++ lib.optional enableSoundSense soundSense
-         ++ lib.optional enableTWBT twbt.art
-         ++ [ dwarf-fortress ];
+    ++ lib.optional enableSoundSense soundSense
+    ++ lib.optional enableTWBT twbt.art
+    ++ [ dwarf-fortress ];
 
-  fixup = lib.singleton (runCommand "fixup" {} (''
+  fixup = lib.singleton (runCommand "fixup" { } (''
     mkdir -p $out/data/init
   '' + (if (theme != null) then ''
     cp ${lib.head themePkg}/data/init/init.txt $out/data/init/init.txt
@@ -61,7 +70,7 @@ let
     substituteInPlace $out/data/init/init.txt \
       --replace '[PRINT_MODE:2D]' '[PRINT_MODE:TWBT]'
   '' +
- lib.optionalString enableTextMode ''
+  lib.optionalString enableTextMode ''
     substituteInPlace $out/data/init/init.txt \
       --replace '[PRINT_MODE:2D]' '[PRINT_MODE:TEXT]'
   '' + ''
@@ -89,8 +98,15 @@ stdenv.mkDerivation {
     name = "dwarf-fortress-init";
     src = ./dwarf-fortress-init.in;
     inherit env;
-    exe = if stdenv.isLinux then "libs/Dwarf_Fortress"
-                            else "dwarfort.exe";
+    exe =
+      if stdenv.isLinux then "libs/Dwarf_Fortress"
+      else "dwarfort.exe";
+    stdenv_shell = "${stdenv.shell}";
+    cp = "${coreutils}/bin/cp";
+    rm = "${coreutils}/bin/rm";
+    ln = "${coreutils}/bin/ln";
+    cat = "${coreutils}/bin/cat";
+    mkdir = "${coreutils}/bin/mkdir";
   };
 
   runDF = ./dwarf-fortress.in;
diff --git a/nixpkgs/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress-init.in b/nixpkgs/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress-init.in
index b041067d89e4..27639e57f212 100644
--- a/nixpkgs/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress-init.in
+++ b/nixpkgs/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress-init.in
@@ -1,3 +1,4 @@
+#!@stdenv_shell@ -e
 shopt -s extglob
 
 [ -z "$DF_DIR" ] && export DF_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/df_linux"
@@ -7,25 +8,25 @@ exe="$env_dir/@exe@"
 update_path() {
   local path="$1"
 
-  mkdir -p "$DF_DIR/$(dirname "$path")"
+  @mkdir@ -p "$DF_DIR/$(dirname "$path")"
   # If user has replaced these data directories, let them stay.
   if [ ! -e "$DF_DIR/$path" ] || [ -L "$DF_DIR/$path" ]; then
-    rm -f "$DF_DIR/$path"
-    ln -s "$env_dir/$path" "$DF_DIR/$path"
+    @rm@ -f "$DF_DIR/$path"
+    @ln@ -s "$env_dir/$path" "$DF_DIR/$path"
   fi
 }
 
 forcecopy_path() {
   local path="$1"
 
-  mkdir -p "$DF_DIR/$(dirname "$path")"
-  rm -rf "$DF_DIR/$path"
-  cp -rL --no-preserve=all "$env_dir/$path" "$DF_DIR/$path"
+  @mkdir@ -p "$DF_DIR/$(dirname "$path")"
+  @rm@ -rf "$DF_DIR/$path"
+  @cp@ -rL --no-preserve=all "$env_dir/$path" "$DF_DIR/$path"
 }
 
-mkdir -p "$DF_DIR"
+@mkdir@ -p "$DF_DIR"
 
-cat <<EOF >&2
+@cat@ <<EOF >&2
 Using $DF_DIR as Dwarf Fortress overlay directory.
 If you do any changes in it, don't forget to clean it when updating the game version!
 We try to detect changes based on data directories being symbolic links -- keep this in mind.
diff --git a/nixpkgs/pkgs/games/extremetuxracer/default.nix b/nixpkgs/pkgs/games/extremetuxracer/default.nix
index 88d8598e133c..d114ed848000 100644
--- a/nixpkgs/pkgs/games/extremetuxracer/default.nix
+++ b/nixpkgs/pkgs/games/extremetuxracer/default.nix
@@ -5,12 +5,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.8.0";
+  version = "0.8.1";
   pname = "extremetuxracer";
 
   src = fetchurl {
     url = "mirror://sourceforge/extremetuxracer/etr-${version}.tar.xz";
-    sha256 = "05ysaxvsgps9fxc421kdifsxmc1sn6n79cjaa0k0i3fs9qqrja2b";
+    sha256 = "sha256-ktqWPtMqub/xJjRu37lUnocdfDzsdT9KxQmODVPDg0E=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/games/fheroes2/default.nix b/nixpkgs/pkgs/games/fheroes2/default.nix
index b9802bd81b5f..ea154db121ee 100644
--- a/nixpkgs/pkgs/games/fheroes2/default.nix
+++ b/nixpkgs/pkgs/games/fheroes2/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fheroes2";
-  version = "0.9.4";
+  version = "0.9.5";
 
   src = fetchFromGitHub {
     owner = "ihhub";
     repo = "fheroes2";
     rev = version;
-    sha256 = "sha256-z+88tVsf4uyMFzNfZDKXo0cYqBCYn1ehX+A+e+aIfSg=";
+    sha256 = "sha256-fqV2u6vChzU8387aQGf3OKeiWX188GouYZr4ZUmXWxs=";
   };
 
   buildInputs = [ gettext libpng SDL2 SDL2_image SDL2_mixer SDL2_ttf zlib ];
diff --git a/nixpkgs/pkgs/games/flare/default.nix b/nixpkgs/pkgs/games/flare/default.nix
index 2058abebb55e..3ecade9b97e5 100644
--- a/nixpkgs/pkgs/games/flare/default.nix
+++ b/nixpkgs/pkgs/games/flare/default.nix
@@ -1,7 +1,7 @@
 { lib, buildEnv, callPackage, makeWrapper, Cocoa }:
 
 buildEnv {
-  name = "flare-1.11";
+  name = "flare-1.12rc1";
 
   paths = [
     (callPackage ./engine.nix { inherit Cocoa; })
diff --git a/nixpkgs/pkgs/games/flare/engine.nix b/nixpkgs/pkgs/games/flare/engine.nix
index 2b2738b41089..9104195febc9 100644
--- a/nixpkgs/pkgs/games/flare/engine.nix
+++ b/nixpkgs/pkgs/games/flare/engine.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flare-engine";
-  version = "1.11";
+  version = "1.12rc1";
 
   src = fetchFromGitHub {
     owner = "flareteam";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1j6raymz128miq517h9drks4gj79dajw3lsr0msqxz0z3zm6cc4n";
+    sha256 = "0bl5vayf87y2jd6b1w4nn7pbrhix6dj86xv5kzqxz6b2y65lq73p";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/games/flare/game.nix b/nixpkgs/pkgs/games/flare/game.nix
index 6b7f15fd9ccb..7eae29f84d18 100644
--- a/nixpkgs/pkgs/games/flare/game.nix
+++ b/nixpkgs/pkgs/games/flare/game.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flare-game";
-  version = "1.11";
+  version = "1.12rc1";
 
   src = fetchFromGitHub {
     owner = "flareteam";
     repo = pname;
     rev = "v${version}";
-    sha256 = "18m2qfbbaqklm20gnr7wzrwbmylp1jh781a4p1dq0hymqcg92x5l";
+    sha256 = "1i2fa2hds5ph8gf5b9647vrn7ycz2fl9xaaaybz8yrjmnpx27bzc";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/games/freeciv/default.nix b/nixpkgs/pkgs/games/freeciv/default.nix
index 58e91a44842c..1560a45b0618 100644
--- a/nixpkgs/pkgs/games/freeciv/default.nix
+++ b/nixpkgs/pkgs/games/freeciv/default.nix
@@ -12,13 +12,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "freeciv";
-  version = "2.6.4";
+  version = "2.6.5";
 
   src = fetchFromGitHub {
     owner = "freeciv";
     repo = "freeciv";
     rev = "R${builtins.replaceStrings [ "." ] [ "_" ] version}";
-    sha256 = "sha256-MRaY10HliP8TA8/9s5caNtB5hks5SJcBJItFXOUryCI=";
+    sha256 = "sha256-7KVtBGihABpcbUm5ac2fuBVaDvbucEJSREPulGUdnUE=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/games/gemrb/default.nix b/nixpkgs/pkgs/games/gemrb/default.nix
index 77c9c7adaf9f..947957bc3af6 100644
--- a/nixpkgs/pkgs/games/gemrb/default.nix
+++ b/nixpkgs/pkgs/games/gemrb/default.nix
@@ -20,6 +20,10 @@ let
   backend =
     if (stdenv.isx86_32 || stdenv.isx86_64) then "OpenGL" else "GLES";
 
+  withVLC = stdenv.isDarwin;
+
+  inherit (lib) optional optionalString;
+
 in
 stdenv.mkDerivation rec {
   pname = "gemrb";
@@ -39,19 +43,23 @@ stdenv.mkDerivation rec {
     libGL
     libiconv
     libpng
-    libvlc
     libvorbis
     openal
     python2
     zlib
-  ];
+  ]
+  ++ optional withVLC libvlc;
 
   nativeBuildInputs = [ cmake ];
 
-  LIBVLC_INCLUDE_PATH = "${lib.getDev libvlc}/include";
-  LIBVLC_LIBRARY_PATH = "${lib.getLib libvlc}/lib";
+  # libvlc isn't being detected properly as of 0.9.0, so set it
+  LIBVLC_INCLUDE_PATH = optionalString withVLC "${lib.getDev libvlc}/include";
+  LIBVLC_LIBRARY_PATH = optionalString withVLC "${lib.getLib libvlc}/lib";
 
   cmakeFlags = [
+    "-DDATA_DIR=${placeholder "out"}/share/gemrb"
+    "-DEXAMPLE_CONF_DIR=${placeholder "out"}/share/doc/gemrb/examples"
+    "-DSYSCONF_DIR=/etc"
     # use the Mesa drivers for video on ARM (harmless on x86)
     "-DDISABLE_VIDEOCORE=ON"
     "-DLAYOUT=opt"
diff --git a/nixpkgs/pkgs/games/katago/default.nix b/nixpkgs/pkgs/games/katago/default.nix
index 7a91b698c1cb..fb08ef44710e 100644
--- a/nixpkgs/pkgs/games/katago/default.nix
+++ b/nixpkgs/pkgs/games/katago/default.nix
@@ -33,14 +33,14 @@ let
 
 in env.mkDerivation rec {
   pname = "katago";
-  version = "1.8.2";
-  githash = "b846bddd88fbc5353e4a93fa514f6cbf45358362";
+  version = "1.9.1";
+  githash = "c3220a5a404af835792c476f3f24904e4b799444";
 
   src = fetchFromGitHub {
     owner = "lightvector";
     repo = "katago";
     rev = "v${version}";
-    sha256 = "sha256-kL+y2rsEiC5GGDlWrbzxlJvLxHDCuvVT6CDOlUtXpDk=";
+    sha256 = "sha256-sAtPOqGe6fZ9mAtLdp80fTALXVkP9WdWQU2iTFGXe24=";
   };
 
   fakegit = writeShellScriptBin "git" "echo ${githash}";
diff --git a/nixpkgs/pkgs/games/openttd/grfcodec.nix b/nixpkgs/pkgs/games/openttd/grfcodec.nix
new file mode 100644
index 000000000000..544cf4f06c43
--- /dev/null
+++ b/nixpkgs/pkgs/games/openttd/grfcodec.nix
@@ -0,0 +1,28 @@
+{ stdenv, lib, fetchFromGitHub, boost, cmake, git }:
+
+stdenv.mkDerivation rec {
+  pname = "openttd-grfcodec";
+  version = "unstable-2021-03-10";
+
+  src = fetchFromGitHub {
+    owner = "OpenTTD";
+    repo = "grfcodec";
+    rev = "045774dee7cab1a618a3e0d9b39bff78a12b6efa";
+    sha256 = "0b4xnnkqc01d3r834lhkq744ymar6c8iyxk51wc4c7hvz0vp9vmy";
+  };
+
+  buildInputs = [boost];
+  nativeBuildInputs = [cmake git];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -a grfcodec grfid grfstrip nforenum $out/bin/
+  '';
+
+  meta = with lib; {
+    description = "Low-level (dis)assembler and linter for OpenTTD GRF files";
+    homepage    = "http://openttd.org/";
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ ToxicFrog ];
+  };
+}
diff --git a/nixpkgs/pkgs/games/openttd/nml.nix b/nixpkgs/pkgs/games/openttd/nml.nix
new file mode 100644
index 000000000000..094330faffbb
--- /dev/null
+++ b/nixpkgs/pkgs/games/openttd/nml.nix
@@ -0,0 +1,22 @@
+{ stdenv, lib, fetchFromGitHub, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "openttd-nml";
+  version = "0.5.3";
+
+  src = fetchFromGitHub {
+    owner = "OpenTTD";
+    repo = "nml";
+    rev = version;
+    sha256 = "0kfnkshff3wrxsj1wpfbbw2mmgww2q80v63p5d2pp1f38x8j33w9";
+  };
+
+  propagatedBuildInputs = with python3Packages; [ply pillow];
+
+  meta = with lib; {
+    description = "Compiler for OpenTTD NML files";
+    homepage    = "http://openttdcoop.org/";
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ ToxicFrog ];
+  };
+}
diff --git a/nixpkgs/pkgs/games/osu-lazer/default.nix b/nixpkgs/pkgs/games/osu-lazer/default.nix
index efdcbe9b36d8..4209311154de 100644
--- a/nixpkgs/pkgs/games/osu-lazer/default.nix
+++ b/nixpkgs/pkgs/games/osu-lazer/default.nix
@@ -16,13 +16,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "osu-lazer";
-  version = "2021.612.0";
+  version = "2021.703.0";
 
   src = fetchFromGitHub {
     owner = "ppy";
     repo = "osu";
     rev = version;
-    sha256 = "1hrk8sfg4bdrrrqpwb5a8dhpy0lfnrx575z3l2jygzbwgqgr4jy4";
+    sha256 = "52wGjNVCh1dyPgDfKnsfPcCI1Jh1R70zRUs/jNyaBI8=";
   };
 
   patches = [ ./bypass-tamper-detection.patch ];
diff --git a/nixpkgs/pkgs/games/osu-lazer/deps.nix b/nixpkgs/pkgs/games/osu-lazer/deps.nix
index d0a571717518..f6da6d5c140c 100644
--- a/nixpkgs/pkgs/games/osu-lazer/deps.nix
+++ b/nixpkgs/pkgs/games/osu-lazer/deps.nix
@@ -1,5 +1,10 @@
 { fetchNuGet }: [
   (fetchNuGet {
+    name = "AutoMapper";
+    version = "10.1.1";
+    sha256 = "1l1p9g7f7finr8laklbm7h2c45k0swl47iq0ik68js5s6pzvd6f8";
+  })
+  (fetchNuGet {
     name = "DeltaCompressionDotNet";
     version = "2.0.0.0";
     sha256 = "0zhj7m3zaf9wcg51385in9qg1xgkvp8yyzgq3r5k4sagm7y68aqy";
@@ -20,24 +25,29 @@
     sha256 = "0n6x57mnnvcjnrs8zyvy07h5zm4bcfy9gh4n4bvd9fx5ys4pxkvv";
   })
   (fetchNuGet {
+    name = "Fody";
+    version = "6.5.1";
+    sha256 = "08zpyrniajjba5isjb09spggfh0af2z6x4h2zy5ilk3y5bb9vdch";
+  })
+  (fetchNuGet {
     name = "HidSharpCore";
     version = "1.2.1.1";
     sha256 = "1zkndglmz0s8rblfhnqcvv90rkq2i7lf4bc380g7z8h1avf2ikll";
   })
   (fetchNuGet {
     name = "HtmlAgilityPack";
-    version = "1.11.33";
-    sha256 = "08valqp6hzdfy532kv70fgzhizyc3xs9y0sw0rsr3z2h7pk1vp6n";
+    version = "1.11.34";
+    sha256 = "078dad719hkv806qgj1f0hkn7di5zvvm594awfn5bsgb9afq94a7";
   })
   (fetchNuGet {
     name = "Humanizer";
-    version = "2.10.1";
-    sha256 = "0bcs3vp028dq7hs0dxvqynichgbnhzwdx61phwl8yvls15hav05c";
+    version = "2.11.10";
+    sha256 = "057pqzvdxsbpnnc5f1xkqg7j3ywp68ggia3w74fgqp0158dm6rdk";
   })
   (fetchNuGet {
     name = "Humanizer.Core";
-    version = "2.10.1";
-    sha256 = "1vn52y8pkg8ny7sz83nag4cwmna61jscs2n68bx7x4xkgialzhzy";
+    version = "2.11.10";
+    sha256 = "0z7kmd5rh1sb6izq0vssk6c2p63n00xglk45s7ga9z18z9aaskxv";
   })
   (fetchNuGet {
     name = "Humanizer.Core";
@@ -46,238 +56,238 @@
   })
   (fetchNuGet {
     name = "Humanizer.Core.af";
-    version = "2.10.1";
-    sha256 = "0a7x11kprn650kk3qzhsncyfxazwanqwmrizkxbzyc29y46bmsr3";
+    version = "2.11.10";
+    sha256 = "18fiixfvjwn8m1i8z2cz4aqykzylvfdqmmpwc2zcd8sr1a2xm86z";
   })
   (fetchNuGet {
     name = "Humanizer.Core.ar";
-    version = "2.10.1";
-    sha256 = "0k40zj3jpscv0k780x5p8cc45ivd8pla1hqz8416qgywg9kc6b7z";
+    version = "2.11.10";
+    sha256 = "009fpm4jd325izm82ipipsvlwd31824gvskda68bdwi4yqmycz4p";
   })
   (fetchNuGet {
     name = "Humanizer.Core.az";
-    version = "2.10.1";
-    sha256 = "1djhspqlxj6qys915bd8is1hfy87ykrpxpjwlwsw2gvrrc74p16c";
+    version = "2.11.10";
+    sha256 = "144b9diwprabxwgi5a98k5iy95ajq4p7356phdqi2lhzwbz7b6a9";
   })
   (fetchNuGet {
     name = "Humanizer.Core.bg";
-    version = "2.10.1";
-    sha256 = "1z89a9sc3ny2bm2h3g8cnb6c77q2yhh4wmi18yj98y6irdmimn16";
+    version = "2.11.10";
+    sha256 = "1b9y40gvq2kwnj5wa40f8cbywv79jkajcwknagrgr27sykpfadl2";
   })
   (fetchNuGet {
     name = "Humanizer.Core.bn-BD";
-    version = "2.10.1";
-    sha256 = "17cwk09h3fkjl76z0w3ihj3448h8lchf3l9l10zrjisjf918mxp8";
+    version = "2.11.10";
+    sha256 = "18pn4jcp36ygcx283l3fi9bs5d7q1a384b72a10g5kl0qckn88ay";
   })
   (fetchNuGet {
     name = "Humanizer.Core.cs";
-    version = "2.10.1";
-    sha256 = "0403f5mbyzyjw8jm988rbw2xim353rd4lc0pnkdcn7qlhcrm3gbj";
+    version = "2.11.10";
+    sha256 = "03crw1lnzp32v2kcdmllkrsqh07r4ggw9gyc96qw7cv0nk5ch1h8";
   })
   (fetchNuGet {
     name = "Humanizer.Core.da";
-    version = "2.10.1";
-    sha256 = "0am71dkxyzh40vqb7aa9k6p8whh4fwdrrwwjar9vc3c49wnw7nky";
+    version = "2.11.10";
+    sha256 = "0glby12zra3y3yiq4cwq1m6wjcjl8f21v8ghi6s20r48glm8vzy9";
   })
   (fetchNuGet {
     name = "Humanizer.Core.de";
-    version = "2.10.1";
-    sha256 = "027iydimqnx5r7lw0661zyz41kd4nh6sxx75dmh9lcgawz8h8agy";
+    version = "2.11.10";
+    sha256 = "0a35xrm1f9p74x0fkr52bw9sd54vdy9d5rnvf565yh8ww43xfk7b";
   })
   (fetchNuGet {
     name = "Humanizer.Core.el";
-    version = "2.10.1";
-    sha256 = "1k3g4ffv51da0p12xg7mw21zm6hdvz28x1vaqpspyb156042vxqq";
+    version = "2.11.10";
+    sha256 = "0bhwwdx5vc48zikdsbrkghdhwahxxc2lkff0yaa5nxhbhasl84h8";
   })
   (fetchNuGet {
     name = "Humanizer.Core.es";
-    version = "2.10.1";
-    sha256 = "0rv3b39hwc1spb0r036sjcn8hkl9bfaka1p8bdh7zsnq21674pqb";
+    version = "2.11.10";
+    sha256 = "07bw07qy8nyzlgxl7l2lxv9f78qmkfppgzx7iyq5ikrcnpvc7i9q";
   })
   (fetchNuGet {
     name = "Humanizer.Core.fa";
-    version = "2.10.1";
-    sha256 = "0v3ccydbf9cpv54lk65fqaiq1lfzz6cnxq0wyaa5014axwh9h8nn";
+    version = "2.11.10";
+    sha256 = "00d4hc1pfmhfkc5wmx9p7i00lgi4r0k6wfcns9kl1syjxv3bs5f2";
   })
   (fetchNuGet {
     name = "Humanizer.Core.fi-FI";
-    version = "2.10.1";
-    sha256 = "0gvm0g24ccrk6081sz2ligbskn5rv2i0bfarndhf5k12zwvx0y67";
+    version = "2.11.10";
+    sha256 = "0z4is7pl5jpi4pfdvd2zvx5mp00bj26d9l9ksqyc0liax8nfzyik";
   })
   (fetchNuGet {
     name = "Humanizer.Core.fr";
-    version = "2.10.1";
-    sha256 = "1307byhrygg45vrba5h30gmr94zp8spxqy75xi482y5va6vxv778";
+    version = "2.11.10";
+    sha256 = "0sybpg6kbbhrnk7gxcdk7ppan89lsfqsdssrg4i1dm8w48wgicap";
   })
   (fetchNuGet {
     name = "Humanizer.Core.fr-BE";
-    version = "2.10.1";
-    sha256 = "11mdqwz3nx3a9rval2y9vhxyrfzas2rasbilljky3k893anrpr36";
+    version = "2.11.10";
+    sha256 = "1s25c86nl9wpsn6fydzwv4rfmdx5sm0vgyd7xhw5344k20gazvhv";
   })
   (fetchNuGet {
     name = "Humanizer.Core.he";
-    version = "2.10.1";
-    sha256 = "1rvzgh6hky9gl55625a7pjd8n9rai4vxl05qbjg3icg86a27ia9b";
+    version = "2.11.10";
+    sha256 = "1nx61qkjd6p9r36dmnm4942khyv35fpdqmb2w69gz6463g4d7z29";
   })
   (fetchNuGet {
     name = "Humanizer.Core.hr";
-    version = "2.10.1";
-    sha256 = "1adm2k7ydgbdhvy1wpilhclg3xvcbvcynh4g3qhl1zk7kpicwzy1";
+    version = "2.11.10";
+    sha256 = "02jhcyj72prkqsjxyilv04drm0bknqjh2r893jlbsfi9vjg2zay3";
   })
   (fetchNuGet {
     name = "Humanizer.Core.hu";
-    version = "2.10.1";
-    sha256 = "19kznch1wm6pyy4dbinp0zn991s84ak4x9hpq9sjhd60azrc9vr9";
+    version = "2.11.10";
+    sha256 = "0yb6ly4s1wdyaf96h2dvifqyb575aid6irwl3qx8gcvrs0xpcxdp";
   })
   (fetchNuGet {
     name = "Humanizer.Core.hy";
-    version = "2.10.1";
-    sha256 = "047427rspi90rbhzmzanfqkn6rzcgvnnhbn7h923kg07d4lky6l7";
+    version = "2.11.10";
+    sha256 = "0b7vaqldn7ca3xi4gkvkhjk900kw2zwb0m0d20bg45a83zdlx79c";
   })
   (fetchNuGet {
     name = "Humanizer.Core.id";
-    version = "2.10.1";
-    sha256 = "0r3spq1in5y7dxkp3yk5695csair5w0jrc0xjlicqadgfk9j809f";
+    version = "2.11.10";
+    sha256 = "1yqxirknwga4j18k7ixwgqxlv20479afanhariy3c5mkwvglsr9b";
   })
   (fetchNuGet {
     name = "Humanizer.Core.it";
-    version = "2.10.1";
-    sha256 = "1191qns3gpbq45phhaz9vy5bj0cdmznn3c2zgl4pn323knhgjfxf";
+    version = "2.11.10";
+    sha256 = "1skwgj5a6kkx3pm9w4f29psch69h1knmwbkdydlmx13h452p1w4l";
   })
   (fetchNuGet {
     name = "Humanizer.Core.ja";
-    version = "2.10.1";
-    sha256 = "0a0gf2vkgnqyxa3fxzs7pq6almpzv6a53bi7yhn9w4ki1jqjjv6v";
+    version = "2.11.10";
+    sha256 = "1wpc3yz9v611dqbw8j5yimk8dpz0rvpnls4rmlnp1m47gavpj8x4";
   })
   (fetchNuGet {
     name = "Humanizer.Core.ko-KR";
-    version = "2.10.1";
-    sha256 = "0x9x7134f8ikbvvalahrb3q080w2zxd9dx0k32gd10axcvqpgxq3";
+    version = "2.11.10";
+    sha256 = "1df0kd7vwdc3inxfkb3wsl1aw3d6vbab99dzh08p4m04g7i2c1a9";
   })
   (fetchNuGet {
     name = "Humanizer.Core.ku";
-    version = "2.10.1";
-    sha256 = "0ry4fjfvwp13p1qq8hjykg60ga0vxirdl7l7czj56lwj29ll8zqa";
+    version = "2.11.10";
+    sha256 = "17b66xfgwjr0sffx0hw4c6l90h43z7ffylrs26hgav0n110q2nwg";
   })
   (fetchNuGet {
     name = "Humanizer.Core.lv";
-    version = "2.10.1";
-    sha256 = "1v08ds9r2k7vx5b2rw9swc3gxfj7mb9r2as0sqg5n2wy04w9ki5j";
+    version = "2.11.10";
+    sha256 = "0czxx4b9g0w7agykdl82wds09zasa9y58dmgjm925amlfz4wkyzs";
   })
   (fetchNuGet {
     name = "Humanizer.Core.ms-MY";
-    version = "2.10.1";
-    sha256 = "0cfb7wmffbwdv8w7j082mc3z59cj3hh6rnnii55wfrbziv1ci5yz";
+    version = "2.11.10";
+    sha256 = "0kix95nbw94fx0dziyz80y59i7ii7d21b63f7f94niarljjq36i3";
   })
   (fetchNuGet {
     name = "Humanizer.Core.mt";
-    version = "2.10.1";
-    sha256 = "1pn00dmn1k3jp0s23rfzv8sj7fdbmy0i45ls0agvy1wxxjyg7cn9";
+    version = "2.11.10";
+    sha256 = "1rwy6m22pq65gxn86xlr9lv818fp5kb0wz98zxxfljc2iviw1f4p";
   })
   (fetchNuGet {
     name = "Humanizer.Core.nb";
-    version = "2.10.1";
-    sha256 = "122b1wk8acnc7sm8bs3ww9kl6z8sw0ym7y1ar9wyiw9aw36a94f3";
+    version = "2.11.10";
+    sha256 = "0ra2cl0avvv4sylha7z76jxnb4pdiqfbpr5m477snr04dsjxd9q9";
   })
   (fetchNuGet {
     name = "Humanizer.Core.nb-NO";
-    version = "2.10.1";
-    sha256 = "0mry95z4ch5bdl71k88wsswmcdxsckhp3d578l9fwy8kgj7dg597";
+    version = "2.11.10";
+    sha256 = "1qszib03pvmjkrg8za7jjd2vzrs9p4fn2rmy82abnzldkhvifipq";
   })
   (fetchNuGet {
     name = "Humanizer.Core.nl";
-    version = "2.10.1";
-    sha256 = "03cm6vfsi5rgnc456b07vc7h3rfn3qjxfykq8f6cq61z1xgh9i53";
+    version = "2.11.10";
+    sha256 = "1i9bvy0i2yyasl9mgxiiwrkmfpm2c53d3wwdp9270r6120sxyy63";
   })
   (fetchNuGet {
     name = "Humanizer.Core.pl";
-    version = "2.10.1";
-    sha256 = "1gsrfp8d3ay5kra95sk0sy8vcak0ncxmddpwh9vw2sdhlj453bzx";
+    version = "2.11.10";
+    sha256 = "0kggh4wgcic7wzgxy548n6w61schss2ccf9kz8alqshfi42xifby";
   })
   (fetchNuGet {
     name = "Humanizer.Core.pt";
-    version = "2.10.1";
-    sha256 = "1z9asjsng8njvi8vr5ryklwdrfmgkjk2knd8q3hkf0k1zj4bkhsf";
+    version = "2.11.10";
+    sha256 = "09j90s8x1lpvhfiy3syfnj8slkgcacf3xjy3pnkgxa6g4mi4f4bd";
   })
   (fetchNuGet {
     name = "Humanizer.Core.ro";
-    version = "2.10.1";
-    sha256 = "0r8b1yl5dby56x6q0vgkzdnb08q3ar9kvnqz7pxfld9zh03k0snp";
+    version = "2.11.10";
+    sha256 = "1jgidmqfly91v1k22gn687mfql5bz7gjzp1aapi93vq5x635qssy";
   })
   (fetchNuGet {
     name = "Humanizer.Core.ru";
-    version = "2.10.1";
-    sha256 = "1nqgscy7wqfbpld3bb6g1hwy2zdl88as1kxcflfiyysmnysavviz";
+    version = "2.11.10";
+    sha256 = "13mmlh0ibxfyc85xrz3vx4mcg56mkzqql184iwdryq94p0g5ahil";
   })
   (fetchNuGet {
     name = "Humanizer.Core.sk";
-    version = "2.10.1";
-    sha256 = "0wk4a7g87s26da57a4srwnmhm9d2x68afn961lkd2anz8wixr97x";
+    version = "2.11.10";
+    sha256 = "04ja06y5jaz1jwkwn117wx9cib04gpbi0vysn58a8sd5jrxmxai5";
   })
   (fetchNuGet {
     name = "Humanizer.Core.sl";
-    version = "2.10.1";
-    sha256 = "1vsjl6nbk2mxlvkk0zi0igzmfxfhr3jmnnx8ljwpz8a501svksxl";
+    version = "2.11.10";
+    sha256 = "05hxk9v3a7fn7s4g9jp5zxk2z6a33b9fkavyb1hjqnl2i37q2wja";
   })
   (fetchNuGet {
     name = "Humanizer.Core.sr";
-    version = "2.10.1";
-    sha256 = "03n64v7hl9awvq06y94wc0czqqf5nrw0d0k7xyx0l3lgw02jpgy2";
+    version = "2.11.10";
+    sha256 = "0x6l2msimrx72iywa1g0rqklgy209sdwg0r77i2lz0s1rvk5klm5";
   })
   (fetchNuGet {
     name = "Humanizer.Core.sr-Latn";
-    version = "2.10.1";
-    sha256 = "0yw5k8g4672kcaia82aq36asjkjlkssi8lkkjn35hn9spq5734lc";
+    version = "2.11.10";
+    sha256 = "01hdyn7mmbyy7f3aglawgnsj3nblcdpqjgzdcvniy73l536mira0";
   })
   (fetchNuGet {
     name = "Humanizer.Core.sv";
-    version = "2.10.1";
-    sha256 = "1n0631ka9cdikjyw9kr3vqwgd33g83chdabra50hnwcrykkigy4f";
+    version = "2.11.10";
+    sha256 = "0cbgchivw3d5ndib1zmgzmnymhyvfh9g9f0hijc860g5vaa9fkvh";
   })
   (fetchNuGet {
     name = "Humanizer.Core.th-TH";
-    version = "2.10.1";
-    sha256 = "0s1v0sap22xzqis95wmg66vriaavf6fgk8hcpm3as185dn37gxwn";
+    version = "2.11.10";
+    sha256 = "1v7f9x3b04iwhz9lb3ir8az8128nvcw1gi4park5zh3fg0f3mni0";
   })
   (fetchNuGet {
     name = "Humanizer.Core.tr";
-    version = "2.10.1";
-    sha256 = "063qr62a8cqa82xc3calv37x6d5v29wdssmrq9b7pas60vd5n7yd";
+    version = "2.11.10";
+    sha256 = "02c4ky0dskxkdrkc7vy8yzmvwjr1wqll1kzx0k21afhlx8xynjd4";
   })
   (fetchNuGet {
     name = "Humanizer.Core.uk";
-    version = "2.10.1";
-    sha256 = "0n0zh9z19fwbb0dbpdld6jzydmwv7zj0nf2x0vpilrhcdhd4icfm";
+    version = "2.11.10";
+    sha256 = "0900ilhwj8yvhyzpg1pjr7f5vrl62wp8dsnhk4c2igs20qvnv079";
   })
   (fetchNuGet {
     name = "Humanizer.Core.uz-Cyrl-UZ";
-    version = "2.10.1";
-    sha256 = "1q6z6c4hkxi5kq13k5qm6i6dx2namkdsysb09jvkvj2vl54gj074";
+    version = "2.11.10";
+    sha256 = "09b7p2m8y49j49ckrmx2difgyj6y7fm2mwca093j8psxclsykcyr";
   })
   (fetchNuGet {
     name = "Humanizer.Core.uz-Latn-UZ";
-    version = "2.10.1";
-    sha256 = "1758m8b2kv1k5r26al9x4vhss1f7b7yhk971b41zqapw7z66sgmx";
+    version = "2.11.10";
+    sha256 = "029kvkawqhlln52vpjpvr52dhr18ylk01cgsj2z8lxnqaka0q9hk";
   })
   (fetchNuGet {
     name = "Humanizer.Core.vi";
-    version = "2.10.1";
-    sha256 = "1z45zd7gpx20zaaxrv9ac6v0ig0s3d80nxdiig2pm1zrlx01ps33";
+    version = "2.11.10";
+    sha256 = "0q4d47plsj956ivn82qwyidfxppjr9dp13m8c66aamrvhy4q8ny5";
   })
   (fetchNuGet {
     name = "Humanizer.Core.zh-CN";
-    version = "2.10.1";
-    sha256 = "02pdpzzwk4wnj1bvzl059ndh67i5yx5ab8ayq5qkrg2hfkid9nn5";
+    version = "2.11.10";
+    sha256 = "01dy5kf6ai8id77px92ji4kcxjc8haj39ivv55xy1afcg3qiy7mh";
   })
   (fetchNuGet {
     name = "Humanizer.Core.zh-Hans";
-    version = "2.10.1";
-    sha256 = "1pm73sl5s1axzmwks68kdyskyv183z5yy020bhzcf0rwbrv3s2qi";
+    version = "2.11.10";
+    sha256 = "16gcxgw2g6gck3nc2hxzlkbsg7wkfaqsjl87kasibxxh47zdqqv2";
   })
   (fetchNuGet {
     name = "Humanizer.Core.zh-Hant";
-    version = "2.10.1";
-    sha256 = "0fxyl2m05qgmnycdsbzv2dyzixq4jqnvvx7al87d6v5rvkrzwgik";
+    version = "2.11.10";
+    sha256 = "1rjg2xvkwjjw3c7z9mdjjvbnl9lcvvhh4fr7l61rla2ynzdk46cj";
   })
   (fetchNuGet {
     name = "JetBrains.Annotations";
@@ -301,8 +311,8 @@
   })
   (fetchNuGet {
     name = "Markdig";
-    version = "0.24.0";
-    sha256 = "03i0mw9717xwf3pffr8ar7k7fmyhgdw222j58l4x0xr4slpg94l7";
+    version = "0.25.0";
+    sha256 = "1f7iqkaphfyf6szjrp0633rj44wynqgiqyivbja5djyxjy4csfyy";
   })
   (fetchNuGet {
     name = "MessagePack";
@@ -321,53 +331,53 @@
   })
   (fetchNuGet {
     name = "Microsoft.AspNetCore.Connections.Abstractions";
-    version = "5.0.6";
-    sha256 = "1ggvdz6sq668w8nv99qg9pi2i3vx0vihfybjbyyywjgjppq93y8l";
+    version = "5.0.7";
+    sha256 = "119wk2aqnas2sfyawv0wkg20ygk1cr15lycvvnw2x42kwgcimmks";
   })
   (fetchNuGet {
     name = "Microsoft.AspNetCore.Http.Connections.Client";
-    version = "5.0.6";
-    sha256 = "16xzbs1mvbgzblzmzxznr4fpkwk9lz318rnscj7498k1dmk972s4";
+    version = "5.0.7";
+    sha256 = "0jdpqmjv9w29ih13nprzvf2m6cjrg69x0kwyi3d7b371rvz7m66l";
   })
   (fetchNuGet {
     name = "Microsoft.AspNetCore.Http.Connections.Common";
-    version = "5.0.6";
-    sha256 = "1zqvmcb1zc704zf246byhf3sm1isixrdr4hlrqpss7zwd89vznv3";
+    version = "5.0.7";
+    sha256 = "1h6bw9hs92xp505c9x0jn1mx1i86r3s6xs7yyycx905grwisga39";
   })
   (fetchNuGet {
     name = "Microsoft.AspNetCore.Http.Features";
-    version = "5.0.6";
-    sha256 = "18y9np24ybhzgv5lmaaah98l9s53c07lawld4y3nnngy4a2l8byq";
+    version = "5.0.7";
+    sha256 = "1v89zxk15c7gswq10cbsf2yr974inpbk5npw2v6qj8vcs66qqwq3";
   })
   (fetchNuGet {
     name = "Microsoft.AspNetCore.SignalR.Client";
-    version = "5.0.6";
-    sha256 = "0vyqd11b02vfh1xbkq01z4nsj73rqnjpms1xm461x2p1yajs3792";
+    version = "5.0.7";
+    sha256 = "13mqsa5nks9fcxv6kxm9j75mxafs3h5pikv35a56h7d9z8wdazsr";
   })
   (fetchNuGet {
     name = "Microsoft.AspNetCore.SignalR.Client.Core";
-    version = "5.0.6";
-    sha256 = "0q2fcz6g1jqiwqy05va26wf6mn7vjd915igaiqgmhqzjc2rgif88";
+    version = "5.0.7";
+    sha256 = "033q9ijbbkh3crby96c62azyi61m0c7byiz89xbrdvagpj6ydqn5";
   })
   (fetchNuGet {
     name = "Microsoft.AspNetCore.SignalR.Common";
-    version = "5.0.6";
-    sha256 = "1apa35dffb29w9fj79ypdyvwkz37v04bbsl51hxrx1pa66jj4ymx";
+    version = "5.0.7";
+    sha256 = "0s04flgfrljv3r8kxplc569mp3gsqd4nwda0h3yly3rqzwmbrnwp";
   })
   (fetchNuGet {
     name = "Microsoft.AspNetCore.SignalR.Protocols.Json";
-    version = "5.0.6";
-    sha256 = "1yr94d8yry7i22a2zvcan7rr9lwbx298lz7k6wsgscj1isg5nrr7";
+    version = "5.0.7";
+    sha256 = "0nb3v6hhhlndagczac255v2iyjs40jfi9gnb0933zh01wqrgkrv7";
   })
   (fetchNuGet {
     name = "Microsoft.AspNetCore.SignalR.Protocols.MessagePack";
-    version = "5.0.6";
-    sha256 = "1asz4kaa0c42z8lgsh6ywn0399v1w8axvhxjbb6m39w9xq596rdr";
+    version = "5.0.7";
+    sha256 = "06clfalw2xn7rfw53y8kiwcf2j3902iz0pl9fn2q4czhfwfp23ld";
   })
   (fetchNuGet {
     name = "Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson";
-    version = "5.0.6";
-    sha256 = "1l5bl8zqw9wnincd7yxghik0k3yzip02zz26bah7mwyqaf4nhbma";
+    version = "5.0.7";
+    sha256 = "1m2likbhq8mxv33yw5zl2ybgc11ksjzqi7nhjrnx1bc12amb3nw4";
   })
   (fetchNuGet {
     name = "Microsoft.Bcl.AsyncInterfaces";
@@ -386,8 +396,8 @@
   })
   (fetchNuGet {
     name = "Microsoft.Build.Framework";
-    version = "15.3.409";
-    sha256 = "1dhanwb9ihbfay85xj7cwn0byzmmdz94hqfi3q6r1ncwdjd8y1s2";
+    version = "16.5.0";
+    sha256 = "1xgr02r7s9i6s70n237hss4yi9zicssia3zd2ny6s8vyxb7jpdyb";
   })
   (fetchNuGet {
     name = "Microsoft.Build.Locator";
@@ -396,8 +406,8 @@
   })
   (fetchNuGet {
     name = "Microsoft.CodeAnalysis.Analyzers";
-    version = "3.0.0";
-    sha256 = "0bbl0jpqywqmzz2gagld1p2gvdfldjfjmm25hil9wj2nq1zc4di8";
+    version = "3.3.2";
+    sha256 = "162vb5894zxps0cf5n9gc08an7gwybzz87allx3lsszvllr9ldx4";
   })
   (fetchNuGet {
     name = "Microsoft.CodeAnalysis.BannedApiAnalyzers";
@@ -406,18 +416,18 @@
   })
   (fetchNuGet {
     name = "Microsoft.CodeAnalysis.Common";
-    version = "3.9.0";
-    sha256 = "1x6l6kn8iv5gk1545nxs2gwzkb8gj4sb9kryai132l7yg9afjqik";
+    version = "3.10.0";
+    sha256 = "12a7wq45liw89ylnf2b7v374s3m0lbknkx7kazk3bf6nd1b8ny81";
   })
   (fetchNuGet {
     name = "Microsoft.CodeAnalysis.CSharp";
-    version = "3.9.0";
-    sha256 = "0crb9x5rhija8y7b0iya9axcvinz2hv3bgf80bvz7kv6zpbpszkz";
+    version = "3.10.0";
+    sha256 = "0plpvimh9drip1fvic3zfg1gmiw3q8xb85nqjqy1hq140p4him6k";
   })
   (fetchNuGet {
     name = "Microsoft.CodeAnalysis.CSharp.Workspaces";
-    version = "3.9.0";
-    sha256 = "0cvg6lby34cnjg5a84dx7vnkvjkbvm5vd2p61in9frd6vk0pjwpz";
+    version = "3.10.0";
+    sha256 = "0g12hg6r8h2s99p8a0rx8h71rlmj9aff2hr26fkw7i734n39p070";
   })
   (fetchNuGet {
     name = "Microsoft.CodeAnalysis.NetAnalyzers";
@@ -426,13 +436,13 @@
   })
   (fetchNuGet {
     name = "Microsoft.CodeAnalysis.Workspaces.Common";
-    version = "3.9.0";
-    sha256 = "1ibr9k1qf93i7sjml0xhp03is7qqgfj91za9dp4i1w00fjnvyf37";
+    version = "3.10.0";
+    sha256 = "1hr3ndhb7sw0l63blgp2y0a6d1pgkxah0ls1v7kdxmkdazv35svc";
   })
   (fetchNuGet {
     name = "Microsoft.CodeAnalysis.Workspaces.MSBuild";
-    version = "3.9.0";
-    sha256 = "1p8rgd9b9p49dkar97mjcmahkzvrdghw7m5a6csldx62nlknsc9m";
+    version = "3.10.0";
+    sha256 = "13h0wza8anac6snkry9fvzd188vnykifzy43ms8x07d40zmqnicd";
   })
   (fetchNuGet {
     name = "Microsoft.CSharp";
@@ -445,6 +455,11 @@
     sha256 = "01i28nvzccxbqmiz217fxs6hnjwmd5fafs37rd49a6qp53y6623l";
   })
   (fetchNuGet {
+    name = "Microsoft.CSharp";
+    version = "4.7.0";
+    sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j";
+  })
+  (fetchNuGet {
     name = "Microsoft.Data.Sqlite.Core";
     version = "2.2.6";
     sha256 = "0fx8698k71vzr8pdc6q8bsbzg6r8a42s4hkzmiyv13ibmyb5q68k";
@@ -576,8 +591,8 @@
   })
   (fetchNuGet {
     name = "Microsoft.Extensions.ObjectPool";
-    version = "5.0.6";
-    sha256 = "0kwhcnsagwn3x9ms2sfy5js25gfnipkrakqgn7bbg0a1k35qa5xx";
+    version = "5.0.7";
+    sha256 = "047wv490fjizknyhbmxwbbh9fns13pq2inpc9idxq42n2zj3zbij";
   })
   (fetchNuGet {
     name = "Microsoft.Extensions.Options";
@@ -621,6 +636,11 @@
   })
   (fetchNuGet {
     name = "Microsoft.NETCore.Platforms";
+    version = "2.0.0";
+    sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0";
+  })
+  (fetchNuGet {
+    name = "Microsoft.NETCore.Platforms";
     version = "2.1.2";
     sha256 = "1507hnpr9my3z4w1r6xk5n0s1j3y6a2c2cnynj76za7cphxi1141";
   })
@@ -655,6 +675,11 @@
     sha256 = "102hvhq2gmlcbq8y2cb7hdr2dnmjzfp2k3asr1ycwrfacwyaak7n";
   })
   (fetchNuGet {
+    name = "MongoDB.Bson";
+    version = "2.11.3";
+    sha256 = "0fn900i51rwgk3ywpcp4dsf7c9v5glch7hia9l9w8aj8s10qjf1r";
+  })
+  (fetchNuGet {
     name = "Mono.Cecil";
     version = "0.9.6.1";
     sha256 = "1fr7969h5q611l5227xw6nvv5rzap76vbpk0wg9hxbcxk3hn7szf";
@@ -696,48 +721,48 @@
   })
   (fetchNuGet {
     name = "NuGet.Common";
-    version = "5.9.1";
-    sha256 = "0d919d15r6fzixfxz56xnayfbw9lfvpr99k7k2wlyh228l58xlng";
+    version = "5.10.0";
+    sha256 = "0qy6blgppgvxpfcricmvva3qzddk18dza5vy851jrbqshvf9g7kx";
   })
   (fetchNuGet {
     name = "NuGet.Configuration";
-    version = "5.9.1";
-    sha256 = "13v3jmirwil1w74wwsspm31rzppb7fbnh99sfig6hrqxhxyzhgnc";
+    version = "5.10.0";
+    sha256 = "0xb1n94lrwa6k83i9xcsq68202086p2gj74gzlbhlvb8c2pw6lbb";
   })
   (fetchNuGet {
     name = "NuGet.DependencyResolver.Core";
-    version = "5.9.1";
-    sha256 = "0bdmz886bmdgndy7101mq08idzwp8y73hf4l9az3jdndd6cia1ic";
+    version = "5.10.0";
+    sha256 = "0dhhclm281ihpfsjzxw34l6zlw49nwzyjiynkmsbcj9icfkp3y4r";
   })
   (fetchNuGet {
     name = "NuGet.Frameworks";
-    version = "5.9.1";
-    sha256 = "12fjigazzlmh63479hralrfgdcqxq6qsdr57b9zj0ipwqj0s6l3i";
+    version = "5.10.0";
+    sha256 = "0gb6n8rg2jpjp52icgpb3wjdfs3qllh5vbcz8hbcix3l7dncy3v2";
   })
   (fetchNuGet {
     name = "NuGet.LibraryModel";
-    version = "5.9.1";
-    sha256 = "1z1m6ik1sxsr129578dy22wspci4xavwjza0f08nm1vbb4v3y4va";
+    version = "5.10.0";
+    sha256 = "0b6mmq2mqfr06ypc772dmcd8bz55gkyfrgn0j3nrgkcdww4fzf9q";
   })
   (fetchNuGet {
     name = "NuGet.Packaging";
-    version = "5.9.1";
-    sha256 = "0yknzgwmpkcddba3b2d1kq9yizxxdd08xcxv508brr2079g01q6d";
+    version = "5.10.0";
+    sha256 = "11g0v061axhp0nisclq5cm2mc92d69z92giz9l40ih478c5nishw";
   })
   (fetchNuGet {
     name = "NuGet.ProjectModel";
-    version = "5.9.1";
-    sha256 = "0g3gxh0g6lcaczk9jczzkpmikxhdivfflpqw40jygs64r5837rbv";
+    version = "5.10.0";
+    sha256 = "1cqg319n986wciskrqsfawfhqp1d7a7i2qjd0qplpckyw8msng2i";
   })
   (fetchNuGet {
     name = "NuGet.Protocol";
-    version = "5.9.1";
-    sha256 = "1wz7rv262wb42s1y866w9bcvpl22dr4s915dsky8sbc69y5646wn";
+    version = "5.10.0";
+    sha256 = "0cs9qp169zx6g2w5bzrlhxv0q1i8mb8dxlb2nkiq7pkvah86rxkc";
   })
   (fetchNuGet {
     name = "NuGet.Versioning";
-    version = "5.9.1";
-    sha256 = "0vpswa6gz36z2vqwvbylmh7r9hjhlib91vbvkf0icjfkhzijjq08";
+    version = "5.10.0";
+    sha256 = "10vvw6vjpx0c26rlxh7dnpyp4prahn25717ccd8bzkjmyzhm90cs";
   })
   (fetchNuGet {
     name = "NUnit";
@@ -756,13 +781,13 @@
   })
   (fetchNuGet {
     name = "ppy.LocalisationAnalyser";
-    version = "2021.608.0";
-    sha256 = "1lsb7nr2gynz7llbl22f5mrd9hlxaq48gssfcn5qfji7afv8kwql";
+    version = "2021.614.0";
+    sha256 = "0b3b72lvjz8lfh0n5rilmf91j0phgmy1jjnw0v6l7qral72lhd4y";
   })
   (fetchNuGet {
     name = "ppy.osu.Framework";
-    version = "2021.611.0";
-    sha256 = "14a2032khf2ys51rp6qs3ikp0lvqxgdqh0hbvchj34q0l3g40yv0";
+    version = "2021.702.0";
+    sha256 = "16lx73gikjl2bmndqh3vizfn1whjvvq2iwy8sll3yqwb20bg7kaa";
   })
   (fetchNuGet {
     name = "ppy.osu.Framework.NativeLibs";
@@ -771,8 +796,8 @@
   })
   (fetchNuGet {
     name = "ppy.osu.Game.Resources";
-    version = "2021.611.0";
-    sha256 = "01pbxccfrwzn47xg9xgjn91l6w3d0d3gqkkx53ak7ynxbbvx9q07";
+    version = "2021.701.0";
+    sha256 = "0ii5ki983vxjq0iq28nzb9xqkmg8iscwj77hcnpf14cj7xiyg454";
   })
   (fetchNuGet {
     name = "ppy.osuTK.NS20";
@@ -790,6 +815,16 @@
     sha256 = "0nmhrg3q6izapfpwdslq80fqkvjj12ad9r94pd0nr2xx1zw0x1zl";
   })
   (fetchNuGet {
+    name = "Realm";
+    version = "10.2.1";
+    sha256 = "14pi7vz7nl8ag0bmlbyds52z5nx9wbg154qkm6jai10rm02ws86l";
+  })
+  (fetchNuGet {
+    name = "Realm.Fody";
+    version = "10.2.1";
+    sha256 = "1zv57wb7zcgyigsxqikf2yq2h7an4c3dbydl9la5xdpa76dgmxdi";
+  })
+  (fetchNuGet {
     name = "Remotion.Linq";
     version = "2.2.0";
     sha256 = "1y46ni0xswmmiryp8sydjgryafwn458dr91f9xn653w73kdyk4xf";
@@ -896,8 +931,8 @@
   })
   (fetchNuGet {
     name = "Sentry";
-    version = "3.4.0";
-    sha256 = "0yivi1gmay29831parvsy4x9kzbv04754l0lgzv0v0p4l8m1gy6s";
+    version = "3.6.0";
+    sha256 = "1yjz3m8chg796izrdd9vlxvka60rmv6cmsxpnrv9llmsss2mqssz";
   })
   (fetchNuGet {
     name = "SharpCompress";
@@ -906,8 +941,8 @@
   })
   (fetchNuGet {
     name = "SharpCompress";
-    version = "0.28.2";
-    sha256 = "0pj30qm48m9vpq3i8wx9x11ficv36ki1973dk0873vqgvw8fwjj4";
+    version = "0.28.3";
+    sha256 = "1svymm2vyg3815p3sbwjdk563mz0a4ag1sr30pm0ki01brqpaaas";
   })
   (fetchNuGet {
     name = "SharpFNT";
@@ -990,6 +1025,11 @@
     sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3";
   })
   (fetchNuGet {
+    name = "System.CodeDom";
+    version = "4.5.0";
+    sha256 = "1js3h3ig0zwyynl1q88siynp8ra0gz0pfq1wmvls6ji83jrxsami";
+  })
+  (fetchNuGet {
     name = "System.Collections";
     version = "4.0.11";
     sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6";
@@ -1125,6 +1165,11 @@
     sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9";
   })
   (fetchNuGet {
+    name = "System.Dynamic.Runtime";
+    version = "4.3.0";
+    sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk";
+  })
+  (fetchNuGet {
     name = "System.Formats.Asn1";
     version = "5.0.0";
     sha256 = "1axc8z0839yvqi2cb63l73l6d9j6wd20lsbdymwddz9hvrsgfwpn";
@@ -1221,11 +1266,6 @@
   })
   (fetchNuGet {
     name = "System.IO.Pipelines";
-    version = "5.0.0";
-    sha256 = "1kdvbzr98sdddm18r3gbsbcxpv58gm1yy3iig8zg9dvp7mli7453";
-  })
-  (fetchNuGet {
-    name = "System.IO.Pipelines";
     version = "5.0.1";
     sha256 = "1zvfcd2l1d5qxifsqd0cjyv57nr61a9ac2ca5jinyqmj32wgjd6v";
   })
@@ -1255,6 +1295,11 @@
     sha256 = "11jn9k34g245yyf260gr3ldzvaqa9477w2c5nhb1p8vjx4xm3qaw";
   })
   (fetchNuGet {
+    name = "System.Management";
+    version = "4.5.0";
+    sha256 = "19z5x23n21xi94bgl531l9hrm64nyw9d5fpd7klfvr5xfsbh9jwr";
+  })
+  (fetchNuGet {
     name = "System.Memory";
     version = "4.5.1";
     sha256 = "0f07d7hny38lq9w69wx4lxkn4wszrqf9m9js6fh9is645csm167c";
@@ -1345,6 +1390,11 @@
     sha256 = "18h375q5bn9h7swxnk4krrxym1dxmi9bm26p89xps9ygrj4q6zqw";
   })
   (fetchNuGet {
+    name = "System.Reflection.Emit";
+    version = "4.7.0";
+    sha256 = "121l1z2ypwg02yz84dy6gr82phpys0njk7yask3sihgy214w43qp";
+  })
+  (fetchNuGet {
     name = "System.Reflection.Emit.ILGeneration";
     version = "4.0.1";
     sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0";
@@ -1626,18 +1676,13 @@
   })
   (fetchNuGet {
     name = "System.Text.Encodings.Web";
-    version = "5.0.0";
-    sha256 = "144pgy65jc3bkar7d4fg1c0rq6qmkx68gj9k1ldk97558w22v1r1";
-  })
-  (fetchNuGet {
-    name = "System.Text.Encodings.Web";
     version = "5.0.1";
     sha256 = "00yg63qnp94q2qryxxggzigi276bibb8b3b96gcvsyrxy7b703n9";
   })
   (fetchNuGet {
     name = "System.Text.Json";
-    version = "5.0.0";
-    sha256 = "1gpgl18z6qrgmqrikgh99xkjwzb1didrjp77bch7nrlra21gr4ks";
+    version = "4.7.0";
+    sha256 = "0fp3xrysccm5dkaac4yb51d793vywxks978kkl5x4db9gw29rfdr";
   })
   (fetchNuGet {
     name = "System.Text.Json";
diff --git a/nixpkgs/pkgs/games/quakespasm/default.nix b/nixpkgs/pkgs/games/quakespasm/default.nix
index 64b7c8f7920d..41589caed6db 100644
--- a/nixpkgs/pkgs/games/quakespasm/default.nix
+++ b/nixpkgs/pkgs/games/quakespasm/default.nix
@@ -1,12 +1,13 @@
 { lib, stdenv, SDL, fetchurl, gzip, libvorbis, libmad }:
+
 stdenv.mkDerivation rec {
   pname = "quakespasm";
   majorVersion = "0.93";
-  version = "${majorVersion}.1";
+  version = "${majorVersion}.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/quakespasm/quakespasm-${version}.tgz";
-    sha256 = "1bimv18f6rzhyjz78yvw2vqr5n0kdqbcqmq7cb3m951xgsxfcgpd";
+    sha256 = "0qm0j5drybvvq8xadfyppkpk3rxqsxbywzm6iwsjwdf0iia3gss5";
   };
 
   sourceRoot = "${pname}-${version}/Quake";
@@ -24,7 +25,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with lib; {
     description = "An engine for iD software's Quake";
     homepage = "http://quakespasm.sourceforge.net/";
     longDescription = ''
@@ -36,7 +37,7 @@ stdenv.mkDerivation rec {
       and smoother mouse input - though no CD support.
     '';
 
-    platforms = lib.platforms.linux;
-    maintainers = [ lib.maintainers.m3tti ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ m3tti ];
   };
 }
diff --git a/nixpkgs/pkgs/games/scid-vs-pc/default.nix b/nixpkgs/pkgs/games/scid-vs-pc/default.nix
index 2837f96357a7..9d3cdeb02e93 100644
--- a/nixpkgs/pkgs/games/scid-vs-pc/default.nix
+++ b/nixpkgs/pkgs/games/scid-vs-pc/default.nix
@@ -42,6 +42,7 @@ tcl.mkTclDerivation rec {
 
   dontPatchShebangs = true;
 
+  # TODO: can this use tclWrapperArgs?
   postFixup = ''
     sed -i -e '1c#!'"$out"'/bin/tcscid' "$out/bin/scidpgn"
     sed -i -e '1c#!${tk}/bin/wish' "$out/bin/sc_remote"
diff --git a/nixpkgs/pkgs/games/scid/default.nix b/nixpkgs/pkgs/games/scid/default.nix
index 43794f6bc255..a1955e9cced0 100644
--- a/nixpkgs/pkgs/games/scid/default.nix
+++ b/nixpkgs/pkgs/games/scid/default.nix
@@ -31,6 +31,7 @@ tcl.mkTclDerivation {
 
   dontPatchShebangs = true;
 
+  # TODO: can this use tclWrapperArgs?
   postFixup = ''
     for cmd in sc_addmove sc_eco sc_epgn scidpgn \
                sc_import sc_spell sc_tree spliteco
diff --git a/nixpkgs/pkgs/games/stockfish/default.nix b/nixpkgs/pkgs/games/stockfish/default.nix
index b09dc523d1ac..5aa2408afd12 100644
--- a/nixpkgs/pkgs/games/stockfish/default.nix
+++ b/nixpkgs/pkgs/games/stockfish/default.nix
@@ -1,6 +1,4 @@
-{ lib, stdenv, fetchurl }:
-
-with lib;
+{ lib, stdenv, fetchurl, fetchFromGitHub }:
 
 let
     # The x86-64-modern may need to be refined further in the future
@@ -12,28 +10,29 @@ let
            if stdenv.isi686 then "x86-32" else
            if stdenv.isAarch64 then "armv8" else
            "unknown";
-    version = "13";
 
-    nnueFile = "nn-62ef826d1a6d.nnue";
+    nnueFile = "nn-3475407dc199.nnue";
     nnue = fetchurl {
       name = nnueFile;
       url = "https://tests.stockfishchess.org/api/nn/${nnueFile}";
-      sha256 = "0qsy9rr4zgxrpgwhwbi96z01a2560am2b00q2klbj4bd39nq5vv2";
+      sha256 = "sha256-NHVAfcGZc+pERnZ4Y0zOAj1iDkGXcMERzIk3/maJ7Ic=";
     };
 in
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "stockfish";
-  inherit version;
+  version = "14";
 
-  src = fetchurl {
-    url = "https://github.com/official-stockfish/Stockfish/archive/sf_${version}.tar.gz";
-    sha256 = "0qhxp2w543psanzhzn8jhfafx8aip57v9nsvafbwa5xynchlgl8m";
+  src = fetchFromGitHub {
+    owner = "official-stockfish";
+    repo = "Stockfish";
+    rev = "sf_${version}";
+    sha256 = "sha256-fX0Tr1yqjmNRSxmisFRKUY1E5//qF3zAfJ8innAeyxA=";
   };
 
   # This addresses a linker issue with Darwin
   # https://github.com/NixOS/nixpkgs/issues/19098
-  preBuild = optionalString stdenv.isDarwin ''
+  preBuild = lib.optionalString stdenv.isDarwin ''
     sed -i.orig '/^\#\#\# 3.*Link Time Optimization/,/^\#\#\# 3/d' Makefile
   '';
 
@@ -48,14 +47,14 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with lib; {
     homepage = "https://stockfishchess.org/";
     description = "Strong open source chess engine";
     longDescription = ''
       Stockfish is one of the strongest chess engines in the world. It is also
       much stronger than the best human chess grandmasters.
       '';
-    maintainers = with maintainers; [ luispedro peti ];
+    maintainers = with maintainers; [ luispedro peti siraben ];
     platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux"];
     license = licenses.gpl2;
   };
diff --git a/nixpkgs/pkgs/games/the-powder-toy/default.nix b/nixpkgs/pkgs/games/the-powder-toy/default.nix
index 5d240a9fe91b..703578c2d4e8 100644
--- a/nixpkgs/pkgs/games/the-powder-toy/default.nix
+++ b/nixpkgs/pkgs/games/the-powder-toy/default.nix
@@ -29,7 +29,8 @@ stdenv.mkDerivation rec {
     description = "A free 2D physics sandbox game";
     homepage = "http://powdertoy.co.uk/";
     platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ abbradar siraben ];
+    mainProgram = "powder";
   };
 }
diff --git a/nixpkgs/pkgs/games/warzone2100/default.nix b/nixpkgs/pkgs/games/warzone2100/default.nix
index 7f2ad875d8cf..feadcc7f8b21 100644
--- a/nixpkgs/pkgs/games/warzone2100/default.nix
+++ b/nixpkgs/pkgs/games/warzone2100/default.nix
@@ -39,11 +39,11 @@ in
 
 stdenv.mkDerivation rec {
   inherit pname;
-  version  = "4.0.1";
+  version  = "4.1.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/releases/${version}/${pname}_src.tar.xz";
-    sha256 = "1f8a4kflslsjl8jrryhwg034h1yc9y3y1zmllgww3fqkz3aj4xik";
+    sha256 = "sha256-HQlphogK2jjTXV7cQ8lFNWjHMBnpStyvT3wKYjlDQW0=";
   };
 
   buildInputs = [
@@ -84,10 +84,15 @@ stdenv.mkDerivation rec {
   cmakeFlags = [
     "-DWZ_DISTRIBUTOR=NixOS"
     # The cmake builder automatically sets CMAKE_INSTALL_BINDIR to an absolute
-    # path, but this results in an error.
-    # By resetting it, we let the CMakeLists set it to an accepted value
-    # based on prefix.
-    "-DCMAKE_INSTALL_BINDIR="
+    # path, but this results in an error:
+    #
+    # > An absolute CMAKE_INSTALL_BINDIR path cannot be used if the following
+    # > are not also absolute paths: WZ_DATADIR
+    #
+    # WZ_DATADIR is based on CMAKE_INSTALL_DATAROOTDIR, so we set that.
+    #
+    # Alternatively, we could have set CMAKE_INSTALL_BINDIR to "bin".
+    "-DCMAKE_INSTALL_DATAROOTDIR=${placeholder "out"}/share"
   ];
 
   postInstall = lib.optionalString withVideos ''
diff --git a/nixpkgs/pkgs/games/xonotic/default.nix b/nixpkgs/pkgs/games/xonotic/default.nix
index 0a5a58885d0f..b15e111970e9 100644
--- a/nixpkgs/pkgs/games/xonotic/default.nix
+++ b/nixpkgs/pkgs/games/xonotic/default.nix
@@ -58,7 +58,7 @@ let
     inherit version;
 
     src = fetchurl {
-      url = "https://dl.xonotic.org/${pname}-${version}-source.zip";
+      url = "https://dl.xonotic.org/xonotic-${version}-source.zip";
       sha256 = "0axxw04fyz6jlfqd0kp7hdrqa0li31sx1pbipf2j5qp9wvqicsay";
     };
 
@@ -120,7 +120,7 @@ let
 in rec {
   xonotic-data = fetchzip {
     name = "xonotic-data";
-    url = "https://dl.xonotic.org/xonotic-data-${version}.zip";
+    url = "https://dl.xonotic.org/xonotic-${version}.zip";
     sha256 = "1ygkh0v68y4sd1w5vpk8dgb65h5jm599hwszdfgjp3ax4d3ml81x";
     extraPostFetch = ''
       cd $out
diff --git a/nixpkgs/pkgs/misc/cups/drivers/cnijfilter_4_00/default.nix b/nixpkgs/pkgs/misc/cups/drivers/cnijfilter_4_00/default.nix
index f6504b598cb0..1f0f7ab6e91d 100644
--- a/nixpkgs/pkgs/misc/cups/drivers/cnijfilter_4_00/default.nix
+++ b/nixpkgs/pkgs/misc/cups/drivers/cnijfilter_4_00/default.nix
@@ -41,6 +41,7 @@ in stdenv.mkDerivation {
     ./patches/cnijfilter-4.00-4-ppd.patch
     ./patches/cnijfilter-4.00-5-abi_x86_32.patch
     ./patches/cnijfilter-4.00-6-headers.patch
+    ./patches/cnijfilter-4.00-7-sysctl.patch
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-4.00-7-sysctl.patch b/nixpkgs/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-4.00-7-sysctl.patch
new file mode 100644
index 000000000000..a28ca208492b
--- /dev/null
+++ b/nixpkgs/pkgs/misc/cups/drivers/cnijfilter_4_00/patches/cnijfilter-4.00-7-sysctl.patch
@@ -0,0 +1,10 @@
+--- a/cnijnpr/src/cnijnpr.c
++++ b/cnijnpr/src/cnijnpr.c
+@@ -33,7 +33,6 @@
+ #include <signal.h>
+ #include <sys/ioctl.h>
+ #include <net/if.h>
+-#include <sys/sysctl.h>
+ #include <sys/types.h>
+ #include <unistd.h>
+ #include <config.h>
diff --git a/nixpkgs/pkgs/misc/cups/drivers/mfcl2700dncupswrapper/default.nix b/nixpkgs/pkgs/misc/cups/drivers/mfcl2700dncupswrapper/default.nix
index 6eebfe64d5a7..d32968cc45c3 100644
--- a/nixpkgs/pkgs/misc/cups/drivers/mfcl2700dncupswrapper/default.nix
+++ b/nixpkgs/pkgs/misc/cups/drivers/mfcl2700dncupswrapper/default.nix
@@ -1,10 +1,11 @@
 { coreutils, dpkg, fetchurl, gnugrep, gnused, makeWrapper, mfcl2700dnlpr, perl, lib, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "mfcl2700dncupswrapper-${meta.version}";
+  pname = "mfcl2700dncupswrapper";
+  version = "3.2.0-1";
 
   src = fetchurl {
-    url = "https://download.brother.com/welcome/dlf102086/${name}.i386.deb";
+    url = "https://download.brother.com/welcome/dlf102086/mfcl2700dncupswrapper-${version}.i386.deb";
     sha256 = "07w48mah0xbv4h8vsh1qd5cd4b463bx8y6gc5x9pfgsxsy6h6da1";
   };
 
@@ -39,6 +40,5 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2Plus;
     maintainers = [ lib.maintainers.tv ];
     platforms = lib.platforms.linux;
-    version = "3.2.0-1";
   };
 }
diff --git a/nixpkgs/pkgs/misc/emulators/gxemul/0001-fix-attributes.patch b/nixpkgs/pkgs/misc/emulators/gxemul/0001-fix-attributes.patch
new file mode 100644
index 000000000000..3ed9cabc7ad2
--- /dev/null
+++ b/nixpkgs/pkgs/misc/emulators/gxemul/0001-fix-attributes.patch
@@ -0,0 +1,26 @@
+diff -Naur gxemul-0.7.0-old/src/include/thirdparty/pcireg.h gxemul-0.7.0/src/include/thirdparty/pcireg.h
+--- gxemul-0.7.0-old/src/include/thirdparty/pcireg.h	2021-04-22 15:04:14.000000000 -0300
++++ gxemul-0.7.0-new/src/include/thirdparty/pcireg.h	2021-06-28 18:41:13.063065322 -0300
+@@ -12,9 +12,6 @@
+ #undef __noreturn__
+ #endif
+ 
+-#define __attribute__(x)  /*  */
+-#define __noreturn__  /*  */
+-
+ /*
+  * Copyright (c) 1995, 1996, 1999, 2000
+  *     Christopher G. Demetriou.  All rights reserved.
+diff -Naur gxemul-0.7.0-old/src/include/thirdparty/sgi_arcbios.h gxemul-0.7.0/src/include/thirdparty/sgi_arcbios.h
+--- gxemul-0.7.0-old/src/include/thirdparty/sgi_arcbios.h	2021-04-22 15:04:14.000000000 -0300
++++ gxemul-0.7.0-new/src/include/thirdparty/sgi_arcbios.h	2021-06-28 18:41:33.549981505 -0300
+@@ -14,9 +14,6 @@
+ #undef __noreturn__
+ #endif
+ 
+-#define	__attribute__(x)  /*  */
+-#define	__noreturn__  /*  */
+-
+ /*	$NetBSD: arcbios.h,v 1.3 2001/12/06 14:59:02 rafal Exp $	*/
+ 
+ /*-
diff --git a/nixpkgs/pkgs/misc/emulators/gxemul/default.nix b/nixpkgs/pkgs/misc/emulators/gxemul/default.nix
index 3149ccaaaac0..cacb521c2fbb 100644
--- a/nixpkgs/pkgs/misc/emulators/gxemul/default.nix
+++ b/nixpkgs/pkgs/misc/emulators/gxemul/default.nix
@@ -1,21 +1,31 @@
-{ lib, stdenv, fetchurl }:
+{ lib
+, stdenv
+, fetchurl
+, libX11
+}:
 
 stdenv.mkDerivation rec {
   pname = "gxemul";
-  version = "0.6.2";
+  version = "0.7.0";
 
   src = fetchurl {
-    url = "http://gavare.se/gxemul/src/gxemul-${version}.tar.gz";
-    sha256 = "0iqmazfn7ss5n27m1a9n9nps3vzhag1phzb7qw0wgczycmwsq0x7";
+    url = "http://gavare.se/gxemul/src/${pname}-${version}.tar.gz";
+    sha256 = "sha256-ecRDfG+MqQT0bTOsNgYqZf3PSpKiSEeOQIqxEpXPjoM=";
   };
 
-  configurePhase = "./configure";
+  buildInputs = [
+    libX11
+  ];
 
-  installPhase = ''
-    mkdir -p {$out/bin,$out/share/${pname}-${version}}
-    cp -r {doc,demos} $out/share/${pname}-${version}
-    cp gxemul $out/bin
-    cp -r ./man $out
+  patches = [
+    # Fix compilation; remove when next release arrives
+    ./0001-fix-attributes.patch
+  ];
+
+  dontAddPrefix = true;
+
+  preConfigure = ''
+    export PREFIX=${placeholder "out"}
   '';
 
   meta = with lib; {
@@ -24,12 +34,14 @@ stdenv.mkDerivation rec {
     longDescription = ''
       GXemul is a framework for full-system computer architecture
       emulation. Several real machines have been implemented within the
-      framework, consisting of processors (ARM, MIPS, Motorola 88K,
-      PowerPC, and SuperH) and surrounding hardware components such as
-      framebuffers, interrupt controllers, busses, disk controllers,
-      and serial controllers. The emulation is working well enough to
-      allow several unmodified "guest" operating systems to run.
+      framework, consisting of processors (ARM, MIPS, Motorola 88K, PowerPC, and
+      SuperH) and surrounding hardware components such as framebuffers,
+      interrupt controllers, busses, disk controllers, and serial
+      controllers. The emulation is working well enough to allow several
+      unmodified "guest" operating systems to run.
     '';
     license = licenses.bsd3;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/misc/lightspark/default.nix b/nixpkgs/pkgs/misc/lightspark/default.nix
index 0e99767a2cb6..a00e784df09e 100644
--- a/nixpkgs/pkgs/misc/lightspark/default.nix
+++ b/nixpkgs/pkgs/misc/lightspark/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lightspark";
-  version = "0.8.4.1";
+  version = "0.8.5";
 
   src = fetchFromGitHub {
     owner = "lightspark";
     repo = "lightspark";
     rev = version;
-    sha256 = "sha256-pIiv5wEDLvTHjlYSicXUTTI6pVAsO6FC39Gie9Z/hZ4=";
+    sha256 = "sha256-F+zCwKTPWkp+VWYvYN5+VbBJeQAwspKy7+Uv+ZstowA=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/misc/pylode/default.nix b/nixpkgs/pkgs/misc/pylode/default.nix
index fb908151765c..33e78bc15231 100644
--- a/nixpkgs/pkgs/misc/pylode/default.nix
+++ b/nixpkgs/pkgs/misc/pylode/default.nix
@@ -15,7 +15,7 @@ python3Packages.buildPythonApplication rec {
   };
 
   propagatedBuildInputs = with python3Packages; [
-    dateutil
+    python-dateutil
     falcon
     gunicorn
     isodate
diff --git a/nixpkgs/pkgs/misc/scrcpy/default.nix b/nixpkgs/pkgs/misc/scrcpy/default.nix
index 50383fd005d7..00b143b1b585 100644
--- a/nixpkgs/pkgs/misc/scrcpy/default.nix
+++ b/nixpkgs/pkgs/misc/scrcpy/default.nix
@@ -10,10 +10,10 @@
 }:
 
 let
-  version = "1.17";
+  version = "1.18";
   prebuilt_server = fetchurl {
     url = "https://github.com/Genymobile/scrcpy/releases/download/v${version}/scrcpy-server-v${version}";
-    sha256 = "sha256-EbWtLRvJuXMPtyVKeO/XGo/0axk4/0aOR6IbZTobZyU=";
+    sha256 = "18si7k9hyqa77yy9w747kl2x2pivyigny49dwzx9sfd9xmmmq734";
   };
 in
 stdenv.mkDerivation rec {
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     owner = "Genymobile";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xCzrbWhMve0bJerFNHiUdSzp5O1pSaKRkcJSs/0nHpk=";
+    sha256 = "019948v63qhmp742hmar7a98ss673m0wdycpphjhfl1kg4iihiya";
   };
 
   # postPatch:
diff --git a/nixpkgs/pkgs/misc/seafile-shared/default.nix b/nixpkgs/pkgs/misc/seafile-shared/default.nix
index 15a129246e18..cc6d0ced6d1b 100644
--- a/nixpkgs/pkgs/misc/seafile-shared/default.nix
+++ b/nixpkgs/pkgs/misc/seafile-shared/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "seafile-shared";
-  version = "8.0.1";
+  version = "8.0.3";
 
   src = fetchFromGitHub {
     owner = "haiwen";
     repo = "seafile";
-    rev = "d34499a2aafa024623a4210fe7f663cef13fe9a6";
-    sha256 = "VKoGr3CTDFg3Q0X+MTlwa4BbfLB+28FeTyTJRCq37RA=";
+    rev = "v${version}";
+    sha256 = "QflLh3fj+jOq/8etr9aG8LGrvtIlB/htVkWbdO+GIbM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/misc/tmux-plugins/default.nix b/nixpkgs/pkgs/misc/tmux-plugins/default.nix
index 8d511c05af2c..60d6545ae5f3 100644
--- a/nixpkgs/pkgs/misc/tmux-plugins/default.nix
+++ b/nixpkgs/pkgs/misc/tmux-plugins/default.nix
@@ -127,12 +127,12 @@ in rec {
 
   dracula = mkTmuxPlugin rec {
     pluginName = "dracula";
-    version = "1.0";
+    version = "1.0.1";
     src = fetchFromGitHub {
       owner = "dracula";
       repo = "tmux";
       rev = "v${version}";
-      sha256 = "YINyER/HT3L7RpTclD3UNiCRj1CL4GPCBBEUJRqUyEQ=";
+      sha256 = "sha256-hq+sKA/EkiKia/31SY1zYPz/bxLuwm6sSrGlip1DULw=";
     };
     meta = with lib; {
       homepage = "https://draculatheme.com/tmux";
diff --git a/nixpkgs/pkgs/misc/vim-plugins/aliases.nix b/nixpkgs/pkgs/misc/vim-plugins/aliases.nix
index 4e08e5fe05e1..67607fe4562c 100644
--- a/nixpkgs/pkgs/misc/vim-plugins/aliases.nix
+++ b/nixpkgs/pkgs/misc/vim-plugins/aliases.nix
@@ -82,6 +82,7 @@ mapAliases (with prev; {
   hlint-refactor      = hlint-refactor-vim;
   hoogle              = vim-hoogle;
   Hoogle              = vim-hoogle;
+  indent-blankline-nvim-lua = indent-blankline-nvim; # backwards compat, added 2021-07-05
   ipython             = vim-ipython;
   latex-live-preview  = vim-latex-live-preview;
   maktaba             = vim-maktaba;
diff --git a/nixpkgs/pkgs/misc/vim-plugins/generated.nix b/nixpkgs/pkgs/misc/vim-plugins/generated.nix
index a004c77af45f..6218cc05d0f1 100644
--- a/nixpkgs/pkgs/misc/vim-plugins/generated.nix
+++ b/nixpkgs/pkgs/misc/vim-plugins/generated.nix
@@ -65,12 +65,12 @@ final: prev:
 
   ale = buildVimPluginFrom2Nix {
     pname = "ale";
-    version = "2021-06-22";
+    version = "2021-07-05";
     src = fetchFromGitHub {
       owner = "dense-analysis";
       repo = "ale";
-      rev = "a4ba421803d030a8967ede111ce921d439aa5fbb";
-      sha256 = "115n81dssyxsi3hlrfbga2w2vkyshf3jiy8m27pafl4adp7n3yqf";
+      rev = "958f30c1635ffc7cd47b929b382a791a9d0db37b";
+      sha256 = "1pbjqg8jn7nw3kn54mjfbm2bidwll1blay9aq70wpzcqvizn8fa0";
     };
     meta.homepage = "https://github.com/dense-analysis/ale/";
   };
@@ -413,12 +413,12 @@ final: prev:
 
   chadtree = buildVimPluginFrom2Nix {
     pname = "chadtree";
-    version = "2021-06-27";
+    version = "2021-07-06";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "chadtree";
-      rev = "9bac6b4623c8b24615bc1f0cfb582e1a8578060f";
-      sha256 = "0f0birbvd4s28bqb6jp8pc8r24f4k5789gqqg7mwgrf06zhsa8dh";
+      rev = "7d1bae413ad45099d7b93592e738b47f7f50b4f2";
+      sha256 = "1dyi2wxl8k875lapwgmxymhg9jyfqnilp2kiyfqs9h45dmfpmxwk";
     };
     meta.homepage = "https://github.com/ms-jpq/chadtree/";
   };
@@ -557,12 +557,12 @@ final: prev:
 
   coc-nvim = buildVimPluginFrom2Nix {
     pname = "coc-nvim";
-    version = "2021-06-25";
+    version = "2021-06-29";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc.nvim";
-      rev = "91b144b090311c29e40832e76ec8624e5e3599b0";
-      sha256 = "0cwhzk9lkwj0mndjmxny1y5hps0qgmib50flkvlvhl39j6zbrixx";
+      rev = "34d9d52f4e030a7f1c5e15afa1928cad6d9d903d";
+      sha256 = "0mp71zwaiavn8crw64srgcg4fic69dl0rssd1y5jkwfy25r7jnfv";
     };
     meta.homepage = "https://github.com/neoclide/coc.nvim/";
   };
@@ -666,24 +666,24 @@ final: prev:
 
   compe-tabnine = buildVimPluginFrom2Nix {
     pname = "compe-tabnine";
-    version = "2021-05-09";
+    version = "2021-07-04";
     src = fetchFromGitHub {
       owner = "tzachar";
       repo = "compe-tabnine";
-      rev = "755e45c97d29d73400f8fba591ff06054d37127a";
-      sha256 = "0gsq2v0qpzw211fmss3c004pmqcfns9vy4fhki9a0c69zk1ggalp";
+      rev = "b8326e2acf3056e674925a360dedc33510285f0c";
+      sha256 = "00baf8nmldvd08nsj851bdai6jywpjhg1z1hhcxn7zagj0rl6rs0";
     };
     meta.homepage = "https://github.com/tzachar/compe-tabnine/";
   };
 
   compe-tmux = buildVimPluginFrom2Nix {
     pname = "compe-tmux";
-    version = "2021-05-31";
+    version = "2021-07-04";
     src = fetchFromGitHub {
       owner = "andersevenrud";
       repo = "compe-tmux";
-      rev = "b199db008d07caf7f1d488ac3f171910416528a4";
-      sha256 = "1qiir95bz046ppp6pp8k6m00jrjcy2yp098s72lwfnsls6pqsgpf";
+      rev = "2d891bcece6676a4485b248ec9ee05c9acc76190";
+      sha256 = "11ghs6qgx8qwk4ms4f5y1n4clial0xv1q03wsfk8z20w35bm1kg8";
     };
     meta.homepage = "https://github.com/andersevenrud/compe-tmux/";
   };
@@ -714,12 +714,12 @@ final: prev:
 
   completion-nvim = buildVimPluginFrom2Nix {
     pname = "completion-nvim";
-    version = "2021-06-16";
+    version = "2021-07-03";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "completion-nvim";
-      rev = "d62fff879b29fa1ce915887a75305af0fff57d32";
-      sha256 = "0hfsz06djyja8phj099fmbg2sa9jj89rqxvizwhwdxadshmr1f20";
+      rev = "22624f0aa5d1fdd0c84456300d2390b223c1a226";
+      sha256 = "133zmiblkh145abrv9xagzq3qw504g1nvm5v1vmxhxsa7rilr376";
     };
     meta.homepage = "https://github.com/nvim-lua/completion-nvim/";
   };
@@ -810,12 +810,12 @@ final: prev:
 
   Coqtail = buildVimPluginFrom2Nix {
     pname = "Coqtail";
-    version = "2021-06-21";
+    version = "2021-06-30";
     src = fetchFromGitHub {
       owner = "whonore";
       repo = "Coqtail";
-      rev = "aa817559be68d9e90316bc7e5d3205fe2ffcffbe";
-      sha256 = "06c9ab58rj0qx2nyl63qpx5r8lwlx320j7913nafpk268pmqdz4i";
+      rev = "7df02d1bf18324d81cbc32b98c05f5aa936afc17";
+      sha256 = "1vf2386xagiyh23kflcnckw5niy4xygns4pi3apq7kza05ca6861";
     };
     meta.homepage = "https://github.com/whonore/Coqtail/";
   };
@@ -858,12 +858,12 @@ final: prev:
 
   csv-vim = buildVimPluginFrom2Nix {
     pname = "csv-vim";
-    version = "2021-05-09";
+    version = "2021-06-29";
     src = fetchFromGitHub {
       owner = "chrisbra";
       repo = "csv.vim";
-      rev = "a7baf1ce934e725fbcd61b7e6aa27572c0439681";
-      sha256 = "1bfi90h3xn0iz9kp2jglxsw22aq72si6xccvsfhxhjsz329rw239";
+      rev = "7555c28930686b36071c96cca51477f332224231";
+      sha256 = "0dr4yvv319aydcfaww8xyrvrh1x7g99c3k7wvvayfa1qwsi2w0bl";
     };
     meta.homepage = "https://github.com/chrisbra/csv.vim/";
   };
@@ -1014,24 +1014,24 @@ final: prev:
 
   denite-nvim = buildVimPluginFrom2Nix {
     pname = "denite-nvim";
-    version = "2021-06-25";
+    version = "2021-06-27";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "denite.nvim";
-      rev = "cfee6f43aaead875bdc5351627e344698064108c";
-      sha256 = "1yciacr1fh5d155b5d2an4hjy8h0kdp94qrkp9vdi4a46ljrcy9s";
+      rev = "54abca453ae90607a3f70cc316cba9b384bfaac1";
+      sha256 = "0hhsrw2pkp0pb8sjdr4hmqnnbnfviir56mdwl8m0vzci7zx4409x";
     };
     meta.homepage = "https://github.com/Shougo/denite.nvim/";
   };
 
   deol-nvim = buildVimPluginFrom2Nix {
     pname = "deol-nvim";
-    version = "2021-06-24";
+    version = "2021-07-04";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deol.nvim";
-      rev = "8e535d2c19b5307196de736ff9ceadcfe2de9a96";
-      sha256 = "09xfikgrj4krlqnf6j26yhaiiv7im0sm4h0q049m927sh248kxh7";
+      rev = "d95fde4d1e042a99f39ddb8c67875fb10d1ed1e8";
+      sha256 = "1wg1z85f816k60201hxrrdi4if9ci86cbg776k15pqdmcpzi0ibz";
     };
     meta.homepage = "https://github.com/Shougo/deol.nvim/";
   };
@@ -1256,12 +1256,12 @@ final: prev:
 
   deoplete-nvim = buildVimPluginFrom2Nix {
     pname = "deoplete-nvim";
-    version = "2021-06-24";
+    version = "2021-06-27";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deoplete.nvim";
-      rev = "a25b3262f7b5ec7e7188560202b680b2763a8359";
-      sha256 = "0q9cc641x0jwdvd51dwm3grmgj9y9lhlgz5zpgnwwwbx894i55sn";
+      rev = "6fc33bed8f5c75a08b14af285d7775d893037cc4";
+      sha256 = "1cg4lvb1py6q838rvd2z3kvcr3xa9cziz0wgsjlg7392ivkss8hd";
     };
     meta.homepage = "https://github.com/Shougo/deoplete.nvim/";
   };
@@ -1304,12 +1304,12 @@ final: prev:
 
   diffview-nvim = buildVimPluginFrom2Nix {
     pname = "diffview-nvim";
-    version = "2021-06-15";
+    version = "2021-07-04";
     src = fetchFromGitHub {
       owner = "sindrets";
       repo = "diffview.nvim";
-      rev = "f06495b12ba47460c61e8ad1388326e3f94e5637";
-      sha256 = "0lxv2c8wa0a6nknw2vfms9fzgjrmjk8klavhs8ay1qcgzis9s1iq";
+      rev = "1936824f5986c986befad5995e7bf87ba124d109";
+      sha256 = "16h82yn7g9jq2chdb4wjjvz6akb0r06wjjvqpj9xkp82rx55m4ix";
     };
     meta.homepage = "https://github.com/sindrets/diffview.nvim/";
   };
@@ -1326,6 +1326,18 @@ final: prev:
     meta.homepage = "https://github.com/direnv/direnv.vim/";
   };
 
+  doki-theme-vim = buildVimPluginFrom2Nix {
+    pname = "doki-theme-vim";
+    version = "2021-06-16";
+    src = fetchFromGitHub {
+      owner = "doki-theme";
+      repo = "doki-theme-vim";
+      rev = "8a3a7b64d5509f87564d846faae5ef0b2b77d2a6";
+      sha256 = "05s7fph5bm9gz2b0biqrpsvvh8ccfxh5csxya3rkja86ppz6wawr";
+    };
+    meta.homepage = "https://github.com/doki-theme/doki-theme-vim/";
+  };
+
   DoxygenToolkit-vim = buildVimPluginFrom2Nix {
     pname = "DoxygenToolkit-vim";
     version = "2010-11-06";
@@ -1364,12 +1376,12 @@ final: prev:
 
   edge = buildVimPluginFrom2Nix {
     pname = "edge";
-    version = "2021-06-17";
+    version = "2021-07-01";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "edge";
-      rev = "f4a26c075f603c3d82baf56b04c9168a7e084c8b";
-      sha256 = "02rsawnqixwq8cj8ryqg0nmmmzq5s1adfll9mmwa6bqh3nwxsb2s";
+      rev = "1e540f25a4bb84fcc50b5f10c969fbda02d21027";
+      sha256 = "17qpqiv63jpap10wgfkb6zmj2xqcl7jwjglg74y9pajkpm1l050h";
     };
     meta.homepage = "https://github.com/sainnhe/edge/";
   };
@@ -1510,12 +1522,12 @@ final: prev:
 
   fern-vim = buildVimPluginFrom2Nix {
     pname = "fern-vim";
-    version = "2021-05-23";
+    version = "2021-07-03";
     src = fetchFromGitHub {
       owner = "lambdalisue";
       repo = "fern.vim";
-      rev = "5fe781e4a12101871bc778b977ce6b76685c1ab0";
-      sha256 = "1220sclgczaqww0d2zdgr0lfpjwrrjyscjn2j40k8h4j1axah9zi";
+      rev = "1b234d8ec0ffadf7fe3f4ddba13480dd4adeb7c7";
+      sha256 = "1prl720r82mp89jfciw50pd2cygp97v46w7vq30b1m4v3016lh15";
     };
     meta.homepage = "https://github.com/lambdalisue/fern.vim/";
   };
@@ -1544,6 +1556,18 @@ final: prev:
     meta.homepage = "https://github.com/bogado/file-line/";
   };
 
+  FixCursorHold-nvim = buildVimPluginFrom2Nix {
+    pname = "FixCursorHold-nvim";
+    version = "2021-04-16";
+    src = fetchFromGitHub {
+      owner = "antoinemadec";
+      repo = "FixCursorHold.nvim";
+      rev = "b5158c93563ee6192ce8d903bfef839393bfeccd";
+      sha256 = "1y6hv7vl268zbf3bzd72l43jjgi0cq364p15z8ia9jlph1syk9zz";
+    };
+    meta.homepage = "https://github.com/antoinemadec/FixCursorHold.nvim/";
+  };
+
   flake8-vim = buildVimPluginFrom2Nix {
     pname = "flake8-vim";
     version = "2020-10-20";
@@ -1595,12 +1619,12 @@ final: prev:
 
   formatter-nvim = buildVimPluginFrom2Nix {
     pname = "formatter-nvim";
-    version = "2021-06-07";
+    version = "2021-07-05";
     src = fetchFromGitHub {
       owner = "mhartington";
       repo = "formatter.nvim";
-      rev = "fc5757d6c9099125edba64b86cb5c9afac9b833b";
-      sha256 = "170lcd7qwzckxib98clld0hgydkjvrr86md3b035q7higgad386m";
+      rev = "9866548f1c543ba90d7bb8a62c4fa939a5dcba46";
+      sha256 = "04289wv1zw7r30x7whzf2s9gis7g3a7l8wswsxiwf55zvrqr95j7";
     };
     meta.homepage = "https://github.com/mhartington/formatter.nvim/";
   };
@@ -1619,12 +1643,12 @@ final: prev:
 
   friendly-snippets = buildVimPluginFrom2Nix {
     pname = "friendly-snippets";
-    version = "2021-06-25";
+    version = "2021-06-27";
     src = fetchFromGitHub {
       owner = "rafamadriz";
       repo = "friendly-snippets";
-      rev = "3dca3fc854b72a72233341f4ae51cebd7a864234";
-      sha256 = "1saasvazmxq5ll0fna0a8kx5q8lq9mg0ldkj1k4g13h9g34sdwgg";
+      rev = "3361919766dde206849b901163abd7cb820e59a7";
+      sha256 = "0q25v9qlyjv58wlq6yzjajmnzi3rw8yiz9amjia6h0bzhnfxwn3l";
     };
     meta.homepage = "https://github.com/rafamadriz/friendly-snippets/";
   };
@@ -1727,12 +1751,12 @@ final: prev:
 
   ghcid = buildVimPluginFrom2Nix {
     pname = "ghcid";
-    version = "2021-05-16";
+    version = "2021-07-03";
     src = fetchFromGitHub {
       owner = "ndmitchell";
       repo = "ghcid";
-      rev = "dec6adb151cc5514f8ea99b8568e7a4c94db6318";
-      sha256 = "14k0crk6lvj6qp1rpfmldmw5w9axy7336aacpvfsh7d4a93xdjzv";
+      rev = "a1a83a3385e0d67c9875492aaa9cbbab2322dbdc";
+      sha256 = "0agsajz53409zvzpwbw24cfny027ymlw32jrakqdizmgrl46zm45";
     };
     meta.homepage = "https://github.com/ndmitchell/ghcid/";
   };
@@ -1811,12 +1835,12 @@ final: prev:
 
   gitsigns-nvim = buildVimPluginFrom2Nix {
     pname = "gitsigns-nvim";
-    version = "2021-06-26";
+    version = "2021-07-05";
     src = fetchFromGitHub {
       owner = "lewis6991";
       repo = "gitsigns.nvim";
-      rev = "521e9357bdbd2cadf4863d5c67f2e816182bdecf";
-      sha256 = "1cd11gvbw2rs5vg6n5w7g22n8c46prsfd906ycld30zq5sm85fg5";
+      rev = "42c87b9ab34e0fd68fcc669137cd7b351e09a89f";
+      sha256 = "11f5hpzm0xdj2b5lfp65i5p6xbalkazpfxr4kir16v5n8q93azng";
     };
     meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/";
   };
@@ -1847,12 +1871,12 @@ final: prev:
 
   glow-nvim = buildVimPluginFrom2Nix {
     pname = "glow-nvim";
-    version = "2021-05-29";
+    version = "2021-07-01";
     src = fetchFromGitHub {
       owner = "npxbr";
       repo = "glow.nvim";
-      rev = "d7f5eb0af3f2a51c2f493fec066015dc29184a4e";
-      sha256 = "1180g55d6adj9jzx9dxld3345hw80vjjj3r8n7snba1m3c8jd5xm";
+      rev = "c5cf6ca75af09046ea3ff51132732271a6e2dd6c";
+      sha256 = "187zm6vj8xbxs5flbqwjzzsv7vq7c6mw55phihd610bmn1wbxfnd";
     };
     meta.homepage = "https://github.com/npxbr/glow.nvim/";
   };
@@ -1931,12 +1955,12 @@ final: prev:
 
   gruvbox-nvim = buildVimPluginFrom2Nix {
     pname = "gruvbox-nvim";
-    version = "2021-06-07";
+    version = "2021-07-05";
     src = fetchFromGitHub {
       owner = "npxbr";
       repo = "gruvbox.nvim";
-      rev = "2dc25bb14fbd69f888dd0615c5576dd730de869a";
-      sha256 = "1i87f7vfgk1szy18cg7nng2yqvcny4v1wnh4dbw74lcqmmazgi7y";
+      rev = "ac0948e28203cba5d0510cf3443906228645e3eb";
+      sha256 = "0g9j2gqsgx7la96xhc72l7rb535phqjpb5mva191wjfn13j0hkda";
     };
     meta.homepage = "https://github.com/npxbr/gruvbox.nvim/";
   };
@@ -2039,12 +2063,12 @@ final: prev:
 
   hop-nvim = buildVimPluginFrom2Nix {
     pname = "hop-nvim";
-    version = "2021-06-23";
+    version = "2021-07-01";
     src = fetchFromGitHub {
       owner = "phaazon";
       repo = "hop.nvim";
-      rev = "a6cd8df18dc2f667e2d10b5fea79d73a7d084cd7";
-      sha256 = "1j5l012vxrcqs5x4ry8cfpvz3a289xsr6h969avd4b8ic8w7dkwb";
+      rev = "0e9d4b4585f8a37d6cccbe9dd5993900b96a595b";
+      sha256 = "0gpah47azk1miybwm2aa6m3vm08683z85rgrjfywx76fnih9rs66";
     };
     meta.homepage = "https://github.com/phaazon/hop.nvim/";
   };
@@ -2145,26 +2169,14 @@ final: prev:
     meta.homepage = "https://github.com/haya14busa/incsearch.vim/";
   };
 
-  indent-blankline-nvim-lua = buildVimPluginFrom2Nix {
-    pname = "indent-blankline-nvim-lua";
-    version = "2021-06-23";
-    src = fetchFromGitHub {
-      owner = "lukas-reineke";
-      repo = "indent-blankline.nvim";
-      rev = "f314659a68f936bf65502fe318222facbeb439a5";
-      sha256 = "0mzkkacdcbxdvaxjfwyiphlwa1z7f5809y03mhyl7656lan8vk90";
-    };
-    meta.homepage = "https://github.com/lukas-reineke/indent-blankline.nvim/";
-  };
-
   indent-blankline-nvim = buildVimPluginFrom2Nix {
     pname = "indent-blankline-nvim";
-    version = "2021-06-10";
+    version = "2021-07-03";
     src = fetchFromGitHub {
       owner = "lukas-reineke";
       repo = "indent-blankline.nvim";
-      rev = "5d5d2f80ec48e3f5fe7237ec17cd1587f39d3be7";
-      sha256 = "005nv99jw9ricgy1xyxixl1ssyh7jai9kv7cx95g5igfvvpblz7k";
+      rev = "17a83ea765831cb0cc64f768b8c3f43479b90bbe";
+      sha256 = "155da638i4ff1wsy5600jgrqicykb27lxq9liag174nga6xazbn6";
     };
     meta.homepage = "https://github.com/lukas-reineke/indent-blankline.nvim/";
   };
@@ -2316,24 +2328,24 @@ final: prev:
 
   julia-vim = buildVimPluginFrom2Nix {
     pname = "julia-vim";
-    version = "2021-06-17";
+    version = "2021-07-01";
     src = fetchFromGitHub {
       owner = "JuliaEditorSupport";
       repo = "julia-vim";
-      rev = "c3c35958e56993337d6517cf5d6e974aca1da99f";
-      sha256 = "0qlx267mpyphpxzfr6y0x87hkxisfmsivd2617sbbwxkv05z2kw1";
+      rev = "6ff9e9938badea96f64154f2991e165e8d340cf2";
+      sha256 = "11k1gjsh8fibdpg5lrcq3rz90gwjb7725krhimnvhrkwhcyl1bwb";
     };
     meta.homepage = "https://github.com/JuliaEditorSupport/julia-vim/";
   };
 
   kotlin-vim = buildVimPluginFrom2Nix {
     pname = "kotlin-vim";
-    version = "2021-04-20";
+    version = "2021-07-03";
     src = fetchFromGitHub {
       owner = "udalov";
       repo = "kotlin-vim";
-      rev = "e043f6a2ddcb0611e4afcb1871260a520e475c74";
-      sha256 = "0ygvicf8gcaskz33qkfl1yg1jiv0l9cyp8fn2rrnzdsb7amsss0v";
+      rev = "9122b2805499fbde06f27116f4b7a2a30d6996f5";
+      sha256 = "0xq156vqzwix87ndq8nfwqmvwp251fnp553zxjlqhccbbyr70pky";
     };
     meta.homepage = "https://github.com/udalov/kotlin-vim/";
   };
@@ -2412,12 +2424,12 @@ final: prev:
 
   LeaderF = buildVimPluginFrom2Nix {
     pname = "LeaderF";
-    version = "2021-06-24";
+    version = "2021-07-03";
     src = fetchFromGitHub {
       owner = "Yggdroot";
       repo = "LeaderF";
-      rev = "3899965851a0b3e59998f2b42e716eeee6bcc473";
-      sha256 = "1w89nlkl35yzadbnhxv0c7qcwzynhvv1kqhvwpbj5h4x2gnb9x33";
+      rev = "64a941e317fb9a432d8924eb3a124627c71c0d18";
+      sha256 = "10d6fr2kasm13js7k85a9mm6q7ga6b3h6z9mys6wwaphzsm7vli1";
     };
     meta.homepage = "https://github.com/Yggdroot/LeaderF/";
   };
@@ -2556,12 +2568,12 @@ final: prev:
 
   lightspeed-nvim = buildVimPluginFrom2Nix {
     pname = "lightspeed-nvim";
-    version = "2021-06-26";
+    version = "2021-07-02";
     src = fetchFromGitHub {
       owner = "ggandor";
       repo = "lightspeed.nvim";
-      rev = "1a213ae1a9587afd4083309098b3a3e63cf6ea80";
-      sha256 = "053drg668sbp0q7xfjm9cx29d87brf02xn86ind81vd039csjd7z";
+      rev = "14ec41e3348d23c88235f038c7395a750e765e9d";
+      sha256 = "03chwwbwq7zgj899rl7827wqfx9ynyz0i1dhyqn1sk1mrddpr4mz";
     };
     meta.homepage = "https://github.com/ggandor/lightspeed.nvim/";
   };
@@ -2628,12 +2640,12 @@ final: prev:
 
   lsp_signature-nvim = buildVimPluginFrom2Nix {
     pname = "lsp_signature-nvim";
-    version = "2021-06-25";
+    version = "2021-07-05";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "lsp_signature.nvim";
-      rev = "69142caa4e48a265467d1c43112de0790f0e5090";
-      sha256 = "0m69fdblnxydlix5cx1rnrcyxsfvl85ica2vn0d58vpls20hnibd";
+      rev = "e2f781f8dfebf6b21929dd8b326474a828e3f08b";
+      sha256 = "15p5k2kki4pp4hg8284f8hji1b406whhpxr0dws0lx5qc4vqwhwr";
     };
     meta.homepage = "https://github.com/ray-x/lsp_signature.nvim/";
   };
@@ -2676,24 +2688,24 @@ final: prev:
 
   luasnip = buildVimPluginFrom2Nix {
     pname = "luasnip";
-    version = "2021-06-26";
+    version = "2021-07-05";
     src = fetchFromGitHub {
       owner = "l3mon4d3";
       repo = "luasnip";
-      rev = "8c96627d42aeb00b7595bb9fd812762ca4a27019";
-      sha256 = "0cjphgly8y2gb5izwl670qy58ky6wjfw1qzarfkxi5wmbk1mawv9";
+      rev = "8b9b689c247f236ad55153582342ecc788444f51";
+      sha256 = "1v24r0kqsqzd111c6ih5s2q0ckz56whqwpsq19awk3sqkvba17w3";
     };
     meta.homepage = "https://github.com/l3mon4d3/luasnip/";
   };
 
   lush-nvim = buildVimPluginFrom2Nix {
     pname = "lush-nvim";
-    version = "2021-06-01";
+    version = "2021-06-30";
     src = fetchFromGitHub {
       owner = "rktjmp";
       repo = "lush.nvim";
-      rev = "684c06d4879a38e50a247ce23b32beaacc75c4d1";
-      sha256 = "1khws788sww2dw4s3nqyigyxi7099kqh60dabs66hj9byb84irql";
+      rev = "3232af465ed86b9a188389e52ce3c47cd811c3f3";
+      sha256 = "1qcvi8kklggzl4k88n6zhxb08hh2srhm9vvnfrknlz751pgd8z3x";
     };
     meta.homepage = "https://github.com/rktjmp/lush.nvim/";
   };
@@ -2772,24 +2784,24 @@ final: prev:
 
   minimap-vim = buildVimPluginFrom2Nix {
     pname = "minimap-vim";
-    version = "2021-06-21";
+    version = "2021-06-29";
     src = fetchFromGitHub {
       owner = "wfxr";
       repo = "minimap.vim";
-      rev = "14f0a76ccb965bd935818039168cbb4df87f53e4";
-      sha256 = "0cphjh7p8j4i2q89q4lisbs1ir017h1pphg95d4x5ds4ms4rnbjg";
+      rev = "8ff65412c76eb25731d96089660c9591b87f104b";
+      sha256 = "1r2n1mvs5zxxz0khg2dsy6m2w6d3wj7jds9swg5n08wa4m8zl05w";
     };
     meta.homepage = "https://github.com/wfxr/minimap.vim/";
   };
 
   mkdx = buildVimPluginFrom2Nix {
     pname = "mkdx";
-    version = "2021-05-28";
+    version = "2021-07-05";
     src = fetchFromGitHub {
       owner = "SidOfc";
       repo = "mkdx";
-      rev = "e129e3c7d92477563aeb068628ee0ccdd46ed36e";
-      sha256 = "0q0cyigkszw0qsdvg9dxs293sf8hbmwwy6qxlknmrfiy5xyn6ik5";
+      rev = "439c518cea989c875eea44ce54a36f7e7dc561d9";
+      sha256 = "19b155lfiynm450cr9acm7dk58hh2ynrs3zpvrcll7slz8fgrhql";
     };
     meta.homepage = "https://github.com/SidOfc/mkdx/";
   };
@@ -3084,24 +3096,24 @@ final: prev:
 
   neoformat = buildVimPluginFrom2Nix {
     pname = "neoformat";
-    version = "2021-06-26";
+    version = "2021-06-30";
     src = fetchFromGitHub {
       owner = "sbdchd";
       repo = "neoformat";
-      rev = "cdf38b33fc4a78c5aa369b8074956a3ebf184f4b";
-      sha256 = "1cp3p117ij5k2zsmyrg3c01n9hv2a6h5p09i2gllz88ii5x3965y";
+      rev = "3fdfd45119be64945e635bf2406fdb0430cb85df";
+      sha256 = "1sd45xvvw4wgmzixlmaq6j0kvv25l561678q24l23swh77x617r4";
     };
     meta.homepage = "https://github.com/sbdchd/neoformat/";
   };
 
   neogit = buildVimPluginFrom2Nix {
     pname = "neogit";
-    version = "2021-06-25";
+    version = "2021-07-03";
     src = fetchFromGitHub {
       owner = "TimUntersberger";
       repo = "neogit";
-      rev = "6bf4bfcf36e701658ddb062f1214e3942e339442";
-      sha256 = "1wgchrv6piykzpwg42yl23qn1qxangf58cv97rj73m80ws8hhwb8";
+      rev = "c91d18fa8743860d4fe547faef4a3671d428b422";
+      sha256 = "16bjicmy9m10cq6gsxlzdsib5qwjj6w1k27wrr07zb01finhj658";
     };
     meta.homepage = "https://github.com/TimUntersberger/neogit/";
   };
@@ -3144,12 +3156,12 @@ final: prev:
 
   neorg = buildVimPluginFrom2Nix {
     pname = "neorg";
-    version = "2021-06-26";
+    version = "2021-07-03";
     src = fetchFromGitHub {
       owner = "vhyrro";
       repo = "neorg";
-      rev = "950ed23a61ba0b4bb455033f191f15b9b8170fd6";
-      sha256 = "0c8zqkyjlkbz109k3321ys7jjggwk9w13p72907k64ypfmr70p30";
+      rev = "d8aea4d54a0af773142c9be8a30944ae8e49b055";
+      sha256 = "1x2q4lhckb8ynzm9s25y877vvi691bw9sdd6764yqgdcznpdlma1";
     };
     meta.homepage = "https://github.com/vhyrro/neorg/";
   };
@@ -3204,12 +3216,12 @@ final: prev:
 
   neovim-fuzzy = buildVimPluginFrom2Nix {
     pname = "neovim-fuzzy";
-    version = "2021-06-17";
+    version = "2021-07-02";
     src = fetchFromGitHub {
       owner = "cloudhead";
       repo = "neovim-fuzzy";
-      rev = "0a65732a4a346384cb828a42014d2833dc301b99";
-      sha256 = "133l6qyzsddmcwxmphbv49a3b0ksnmrbrf6lwacyld5id663yjkj";
+      rev = "0bef4e1a81c65fc05d31380dd74454bd67733837";
+      sha256 = "02a8ipk341bs6y8mk7nixdkbk1c4jdddsjp1qvqgyyca0shaqsz8";
     };
     meta.homepage = "https://github.com/cloudhead/neovim-fuzzy/";
   };
@@ -3348,12 +3360,12 @@ final: prev:
 
   nord-nvim = buildVimPluginFrom2Nix {
     pname = "nord-nvim";
-    version = "2021-06-17";
+    version = "2021-07-01";
     src = fetchFromGitHub {
       owner = "shaunsingh";
       repo = "nord.nvim";
-      rev = "cbede2d4abef3f6054919863404ce46f3ed572a9";
-      sha256 = "0w7fv6yl78inr81h57kgh5xfhha626sc2w8mmzgbwp7s7yhqxymk";
+      rev = "98063a91de4179685c29acb1c765a99bf08ef0f2";
+      sha256 = "18q05vfb4h94nlxylkir9chb3n62x2ibb3qlcij4rhn35fsnrfd9";
     };
     meta.homepage = "https://github.com/shaunsingh/nord.nvim/";
   };
@@ -3372,12 +3384,12 @@ final: prev:
 
   nvcode-color-schemes-vim = buildVimPluginFrom2Nix {
     pname = "nvcode-color-schemes-vim";
-    version = "2021-06-26";
+    version = "2021-07-03";
     src = fetchFromGitHub {
       owner = "ChristianChiarulli";
       repo = "nvcode-color-schemes.vim";
-      rev = "cb3682a8eaf25485efe0b377f0b9e8291f68ab59";
-      sha256 = "0n08mkxf4m0sz07wd893s63l17v3kvvgx5aj62nf5p7paw1zv91c";
+      rev = "3a0e624a67ecd2c7f990bc3c25a1044e85782b10";
+      sha256 = "03ifj5a3f02k00jrcjsdiy7a8wzq5k2b28hmrc7nkzm8gd4fmczb";
     };
     meta.homepage = "https://github.com/ChristianChiarulli/nvcode-color-schemes.vim/";
   };
@@ -3396,12 +3408,12 @@ final: prev:
 
   nvim-autopairs = buildVimPluginFrom2Nix {
     pname = "nvim-autopairs";
-    version = "2021-06-26";
+    version = "2021-06-29";
     src = fetchFromGitHub {
       owner = "windwp";
       repo = "nvim-autopairs";
-      rev = "3069e5a6cea7e69a75f042740e66fc15169336e8";
-      sha256 = "1ldsx96x8asc6hlywkba4rn2dx9j1fl682pv1gyjr1x9m9pgjvg0";
+      rev = "b64fa0d85e9e1b6aa86c8c44cf8a604840a571af";
+      sha256 = "1sqjxf5w77aa0jxzk3yz9l2qw9xja7i9vxnrajajf1m7wa3zm4nl";
     };
     meta.homepage = "https://github.com/windwp/nvim-autopairs/";
   };
@@ -3420,24 +3432,36 @@ final: prev:
 
   nvim-bqf = buildVimPluginFrom2Nix {
     pname = "nvim-bqf";
-    version = "2021-06-21";
+    version = "2021-07-05";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-bqf";
-      rev = "6bfc90ca36dbe602ba0696eb6569803d44f437f9";
-      sha256 = "16c976gxs7lwxb8xs9iqcizmfznlilwrsaz7v32csfn38i4j77hr";
+      rev = "27641367360d64e67ea8f4d47e950a24c71a99e8";
+      sha256 = "0yjmf651gdyi6ngpbb7y8bjf43snv8di54yldfm6l7xgawrwn3nn";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-bqf/";
   };
 
+  nvim-bufdel = buildVimPluginFrom2Nix {
+    pname = "nvim-bufdel";
+    version = "2021-05-21";
+    src = fetchFromGitHub {
+      owner = "ojroques";
+      repo = "nvim-bufdel";
+      rev = "9a1f0f3ed55db86f66ad87f72639269ac1374169";
+      sha256 = "0f10pik2msm7rdi9lx9ll7jgh1gk9y3q8756ri6jdzk4bwd8j4is";
+    };
+    meta.homepage = "https://github.com/ojroques/nvim-bufdel/";
+  };
+
   nvim-bufferline-lua = buildVimPluginFrom2Nix {
     pname = "nvim-bufferline-lua";
-    version = "2021-06-20";
+    version = "2021-07-05";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "nvim-bufferline.lua";
-      rev = "fad981fd11b68b1a7a48b9283bc04ea5b48e55ff";
-      sha256 = "1i2zm5rrx65dzrmxlc89szr7dghjgd7cwcdd4wm1b0hdv0if89p8";
+      rev = "d66f0e45243a46fc3fd0d84ed7d54e37882207ba";
+      sha256 = "0rwihzz2lcyza86bgmmvny685g1nlz23yagz5agdqjzibqz973xf";
     };
     meta.homepage = "https://github.com/akinsho/nvim-bufferline.lua/";
   };
@@ -3468,12 +3492,12 @@ final: prev:
 
   nvim-compe = buildVimPluginFrom2Nix {
     pname = "nvim-compe";
-    version = "2021-06-19";
+    version = "2021-07-05";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "nvim-compe";
-      rev = "f176c41f1e67bffe2dbd28f371fa55c172cf1c56";
-      sha256 = "1yys3m1wmpwr44zx2my975rg2bj2d7j4pzcvfkyccqi36z3g7d8m";
+      rev = "00ebf180d01f7f020c6c19bd8caed59f722ccc04";
+      sha256 = "1qasn6qx4qna0p364b2kbyrd3bdw7zkzys0d2x9rgc5pn7jx80f0";
     };
     meta.homepage = "https://github.com/hrsh7th/nvim-compe/";
   };
@@ -3492,24 +3516,24 @@ final: prev:
 
   nvim-dap = buildVimPluginFrom2Nix {
     pname = "nvim-dap";
-    version = "2021-06-25";
+    version = "2021-07-04";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-dap";
-      rev = "e92ef2acc81b668c90b2dbf2e2a4412ea5975242";
-      sha256 = "0y27kaspmygv0lgvp6msyazhya7indqlii0rsxiahmp5sdg85qap";
+      rev = "6767b438023d63a42149ad5a79960504c9c67bd7";
+      sha256 = "14backs66fmfznrl86dxpvq7ipcawdql2ky30k9kisllpgzccaw6";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-dap/";
   };
 
   nvim-dap-ui = buildVimPluginFrom2Nix {
     pname = "nvim-dap-ui";
-    version = "2021-06-19";
+    version = "2021-06-29";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "nvim-dap-ui";
-      rev = "be9e71d7809f3b1e6a2f5765d782ce74b6b76b64";
-      sha256 = "1648nn9h4h8fiszm626iq09kswsr644mr6kkjy2gnrkrqwkw76l7";
+      rev = "e32b33dae9d8d738f86f84699d4f978f8d9deb02";
+      sha256 = "0sdx890gk79qyyjs946kq3anyq8yyxvkg9sfphiavq5xs9840ps1";
     };
     meta.homepage = "https://github.com/rcarriga/nvim-dap-ui/";
   };
@@ -3540,12 +3564,12 @@ final: prev:
 
   nvim-highlite = buildVimPluginFrom2Nix {
     pname = "nvim-highlite";
-    version = "2021-06-14";
+    version = "2021-07-04";
     src = fetchFromGitHub {
       owner = "Iron-E";
       repo = "nvim-highlite";
-      rev = "d0bdf0cb2d11064ac09d57bcfd48b53f0ee77124";
-      sha256 = "0smkmaz36zjisnlfzjmqgvljb0xk7j07xja69va3bf7k4kcg326y";
+      rev = "b1b6ff6b78dac7c00b70404892e0eabdacb7b223";
+      sha256 = "13icfnas86iki1x2xd2xcdh7ycp3if49zgnwpyx03djgi7ljkgjk";
     };
     meta.homepage = "https://github.com/Iron-E/nvim-highlite/";
   };
@@ -3576,12 +3600,12 @@ final: prev:
 
   nvim-jdtls = buildVimPluginFrom2Nix {
     pname = "nvim-jdtls";
-    version = "2021-06-15";
+    version = "2021-07-02";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-jdtls";
-      rev = "a26e1818fa62cfbcbd9728ad11bc3fc312d6e50e";
-      sha256 = "00w6jdpqfzxi9kfvwig052g8c0184pq71fs9p2dryx9klcxkcjnb";
+      rev = "846187eef85e39997c7b9f101e5169c5b57ec4a8";
+      sha256 = "183szh75a3ix715i1hjr7pbcxw6l75l476snjda17ia68fg6zj6r";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-jdtls/";
   };
@@ -3600,12 +3624,12 @@ final: prev:
 
   nvim-lspconfig = buildVimPluginFrom2Nix {
     pname = "nvim-lspconfig";
-    version = "2021-06-20";
+    version = "2021-07-05";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvim-lspconfig";
-      rev = "48e47b4d26e45977d27c06dc1bc116416ca9276d";
-      sha256 = "1zf4sv91i3qkr9d8cbn9vzk2sc5bknjsjdhzvpf1zjr72bxx3q37";
+      rev = "4e8a6bb35f80e5e37c14b92b5db9abaf2dc6605f";
+      sha256 = "1zz0jf3cv7v1v3ixklld6ls4fcj05d8yy7ww20s85nqvalv5l66r";
     };
     meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
   };
@@ -3624,24 +3648,24 @@ final: prev:
 
   nvim-nonicons = buildVimPluginFrom2Nix {
     pname = "nvim-nonicons";
-    version = "2021-05-10";
+    version = "2021-07-03";
     src = fetchFromGitHub {
       owner = "yamatsum";
       repo = "nvim-nonicons";
-      rev = "5056aebb8d0ecc87b26a4f7fe9e9e520e5ea493f";
-      sha256 = "0z1j18hb5n3500b6sxm1dsya9yd9jnnywhhw9z3sbndb3irn2mny";
+      rev = "93450b02533516231e16ddc71f8ab1caf5005eaa";
+      sha256 = "1mfvi3mzid0fwhgwrg8w4bjy0x6hz78jij60h0ivblvlfai6w0qr";
     };
     meta.homepage = "https://github.com/yamatsum/nvim-nonicons/";
   };
 
   nvim-peekup = buildVimPluginFrom2Nix {
     pname = "nvim-peekup";
-    version = "2021-04-04";
+    version = "2021-07-05";
     src = fetchFromGitHub {
       owner = "gennaro-tedesco";
       repo = "nvim-peekup";
-      rev = "2f03df68bced26399b7576818b3cded3ce334ca0";
-      sha256 = "1bap28b9jbaywll50mwjfp91i0h671762ylgy3fxhnayf78py00d";
+      rev = "e8ad8c7160e1f8ed2a7e4e071110b8b18866b463";
+      sha256 = "1kjvz2hv05a2id72xi28n1iq7cclcvy3ql74h8f0vcpn10zqvfxx";
     };
     meta.homepage = "https://github.com/gennaro-tedesco/nvim-peekup/";
   };
@@ -3672,36 +3696,36 @@ final: prev:
 
   nvim-toggleterm-lua = buildVimPluginFrom2Nix {
     pname = "nvim-toggleterm-lua";
-    version = "2021-06-26";
+    version = "2021-07-04";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "nvim-toggleterm.lua";
-      rev = "f8cf9ec7592e8b8c19a56f5985cec108e18c3101";
-      sha256 = "13ayc57q7r3bns0y6qqqhsi2rr1kqi0bxzdw4qz3my4nj3npqk9h";
+      rev = "fbf502a997db9bb97765cf5e69bd8749110e9139";
+      sha256 = "14w9xn2ns8zpsyiydqyia34dcdgvk1lhzvbvwriprrp0bhgzmq57";
     };
     meta.homepage = "https://github.com/akinsho/nvim-toggleterm.lua/";
   };
 
   nvim-tree-lua = buildVimPluginFrom2Nix {
     pname = "nvim-tree-lua";
-    version = "2021-06-15";
+    version = "2021-07-02";
     src = fetchFromGitHub {
       owner = "kyazdani42";
       repo = "nvim-tree.lua";
-      rev = "bfeaf4c8ef5ff24e93005da2561407a13ba69d4d";
-      sha256 = "0sqydjvcjrqzw91b7sk7y9rrcs0l2j34hshcbwwwz8nrilfk6ak7";
+      rev = "589c36e26f99486e7ab5e2e6920636ffd5f3ae2a";
+      sha256 = "0s5ha981igqkmp13xzxy1rj4cw687qxs5301byx9vjl2n5gkyb6j";
     };
     meta.homepage = "https://github.com/kyazdani42/nvim-tree.lua/";
   };
 
   nvim-treesitter = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter";
-    version = "2021-06-26";
+    version = "2021-07-05";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter";
-      rev = "c04aa172a3feab61f8f4fbfa0e3d47fa12513485";
-      sha256 = "00sp2v423j10rh6hfiwkl7cfnq5y1zjzsfi87sy01phcw5i4aa25";
+      rev = "53d92f65bddf6623000b81ca5beae5ee3a6a736e";
+      sha256 = "18irdbpwqpp6xjmqk7bjlvd8k2mzyg77xgw5k4y2y5vcjg8jazfq";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
   };
@@ -3732,24 +3756,24 @@ final: prev:
 
   nvim-treesitter-refactor = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter-refactor";
-    version = "2021-05-03";
+    version = "2021-07-04";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter-refactor";
-      rev = "1a377fafa30920fa974e68da230161af36bf56fb";
-      sha256 = "06vww83i73f4gyp3x0007qqdk06dd2i9v1v9dk12ky9d8r0pmxl6";
+      rev = "505e58a8b04596a073b326157490706ee63c3b81";
+      sha256 = "0z42rpnig6iq73d3mjfgadvqa03k02f4c89j5dp9dhpnrjja8nha";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-refactor/";
   };
 
   nvim-treesitter-textobjects = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter-textobjects";
-    version = "2021-06-25";
+    version = "2021-07-04";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter-textobjects";
-      rev = "2271ffecd5fad9c74fb12c125f39a21ffb5a7673";
-      sha256 = "1acmhal848jjxv12cp4ihd3jmg6rj8q31v2si15chzap4iizhchc";
+      rev = "bebb977b80d7d6253e82804e05b1105a57382d12";
+      sha256 = "0ckszh3157jbzhqzyfa5gb6sixi7b66w3z3hjvl39z66dk9lf9l6";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/";
   };
@@ -3900,12 +3924,12 @@ final: prev:
 
   packer-nvim = buildVimPluginFrom2Nix {
     pname = "packer-nvim";
-    version = "2021-06-22";
+    version = "2021-07-05";
     src = fetchFromGitHub {
       owner = "wbthomason";
       repo = "packer.nvim";
-      rev = "40663b4e515ea65c51a17d1135cbda516e0e0917";
-      sha256 = "1yfl16a7vdj6g3k2mg1f805xzxdfsnkqfgccbppzbpqy7m2896cr";
+      rev = "5f7ce98b4c81dd8d4b727adc86f83b2339befd55";
+      sha256 = "1aphdri6hb9jamwjdkjybv0r3xbdr673jd4sibzj591r2ai6kzja";
     };
     meta.homepage = "https://github.com/wbthomason/packer.nvim/";
   };
@@ -3996,24 +4020,24 @@ final: prev:
 
   playground = buildVimPluginFrom2Nix {
     pname = "playground";
-    version = "2021-05-28";
+    version = "2021-07-05";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "playground";
-      rev = "1e02dece0daa4bef6a24c7a8b6edd48169885b18";
-      sha256 = "182nkdzcviz3ap3vphcks4gzw99d4jsmxxlkmb42m0gzd54k1hwq";
+      rev = "6e0037c974d17b2883e3f0f38bb3cb6b1daa5feb";
+      sha256 = "0rsdk3ib2sxg6k4k33mcbfrqh7m612jzynzwx3kzh2rmrh1n7i31";
     };
     meta.homepage = "https://github.com/nvim-treesitter/playground/";
   };
 
   plenary-nvim = buildVimPluginFrom2Nix {
     pname = "plenary-nvim";
-    version = "2021-06-19";
+    version = "2021-07-02";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "plenary.nvim";
-      rev = "268002fdba2f8f5a4e86574e3b9924ad6d42da20";
-      sha256 = "07zskz9b5s4cainjqj431b2skzdrhnm8agydmjxmw13qjmwj0q7z";
+      rev = "ca51b6842cd8021f58dc45c89b3e8d7994e0bf8f";
+      sha256 = "071gdhrrbrhdmagai3q8c4yzc9kn794aa7kkacnknkm5kzswb8hg";
     };
     meta.homepage = "https://github.com/nvim-lua/plenary.nvim/";
   };
@@ -4057,12 +4081,12 @@ final: prev:
 
   presence-nvim = buildVimPluginFrom2Nix {
     pname = "presence-nvim";
-    version = "2021-06-14";
+    version = "2021-06-30";
     src = fetchFromGitHub {
       owner = "andweeb";
       repo = "presence.nvim";
-      rev = "65a16b25f98891e2832daa437cdd682e546a494e";
-      sha256 = "0fwxxrwad3y69bczs7rxa0brff4vp139w2ylv8rfh0v2dgx2gmay";
+      rev = "774994a5b930b9e6635e6a9b83b7f476bdd7dd23";
+      sha256 = "0q6d5k2rf6ci3mgmdga304ihklb10falp4g29djnfxxsi2iapvjv";
     };
     meta.homepage = "https://github.com/andweeb/presence.nvim/";
   };
@@ -4249,12 +4273,12 @@ final: prev:
 
   registers-nvim = buildVimPluginFrom2Nix {
     pname = "registers-nvim";
-    version = "2021-06-21";
+    version = "2021-07-05";
     src = fetchFromGitHub {
       owner = "tversteeg";
       repo = "registers.nvim";
-      rev = "6817136df80ae9ddb980a97f7e4cf31cc4f9fa4a";
-      sha256 = "13di6mjn6wb931ak98g1xl99j97c2kphhqrbwh673nl7syqwhnrf";
+      rev = "2208bcd4e73fd3b321ac52ce498ab679b8c959ab";
+      sha256 = "0qqskn8sg9jcpg9wvch0j8d28qjkz084hcc7hl7f1lfc70ksvc7h";
     };
     meta.homepage = "https://github.com/tversteeg/registers.nvim/";
   };
@@ -4550,12 +4574,12 @@ final: prev:
 
   snap = buildVimPluginFrom2Nix {
     pname = "snap";
-    version = "2021-06-26";
+    version = "2021-07-04";
     src = fetchFromGitHub {
       owner = "camspiers";
       repo = "snap";
-      rev = "9410aa77fb8771288ef0a882cd7e8ee81af51107";
-      sha256 = "165a8hdkg0ma5s6gbnrhw0sqx37ilmfka6lq5k843sm5h98xyad7";
+      rev = "4ed8f920f437138b7da38d5ad9003a1e2ca2ddb3";
+      sha256 = "15cxx8yz522kb8wdgcs95irqy7hlfniipzyxyd16hg69wycl64gx";
     };
     meta.homepage = "https://github.com/camspiers/snap/";
   };
@@ -4574,12 +4598,12 @@ final: prev:
 
   sonokai = buildVimPluginFrom2Nix {
     pname = "sonokai";
-    version = "2021-06-08";
+    version = "2021-07-01";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "sonokai";
-      rev = "5c1fc0452387cae323692e3345238a780a942056";
-      sha256 = "0j2bba7img06m6b7lzgw1q5r8g38cs70pynwisqdb34l5jbj0fqx";
+      rev = "e8935bde797ce92318c60a21ee671caf04387a33";
+      sha256 = "1sw8d7ipadpa4hazs2fija3rzlf6ch7h8lkm4k3hg9m9gpviygla";
     };
     meta.homepage = "https://github.com/sainnhe/sonokai/";
   };
@@ -4682,12 +4706,12 @@ final: prev:
 
   splitjoin-vim = buildVimPluginFrom2Nix {
     pname = "splitjoin-vim";
-    version = "2021-06-07";
+    version = "2021-06-28";
     src = fetchFromGitHub {
       owner = "AndrewRadev";
       repo = "splitjoin.vim";
-      rev = "a8c4af3d69839cd2c03d458044fb3d3b128e450d";
-      sha256 = "0s87vzdb3j3hna5yda4jay1k4zw419mqd8yn3h4q22qhhsr36q0k";
+      rev = "03af68c1ecec4a01b4fe713393c1b3fa4dd21e77";
+      sha256 = "15qja2ywi83qv365b19xrcw02j693bhrdn0wanxdhbqzpp9kwsb9";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/AndrewRadev/splitjoin.vim/";
@@ -4803,12 +4827,12 @@ final: prev:
 
   syntastic = buildVimPluginFrom2Nix {
     pname = "syntastic";
-    version = "2021-05-19";
+    version = "2021-07-01";
     src = fetchFromGitHub {
       owner = "vim-syntastic";
       repo = "syntastic";
-      rev = "176f364f1b4acf894cdc248944f2d5506a37cc80";
-      sha256 = "01ylf4vjlisgls2f2gwlagg7x1yyhcr64kzdlzhcs3r8s3wdsf25";
+      rev = "c89741ef310fd0a380ffb80b80e10f197afd6224";
+      sha256 = "0n691w9mcq0ks7wvj9mpmwhqnkcd11lhzf4fz6pkki8g5i7zhqrh";
     };
     meta.homepage = "https://github.com/vim-syntastic/syntastic/";
   };
@@ -4825,6 +4849,19 @@ final: prev:
     meta.homepage = "https://github.com/vim-scripts/tabmerge/";
   };
 
+  tabnine-vim = buildVimPluginFrom2Nix {
+    pname = "tabnine-vim";
+    version = "2021-01-14";
+    src = fetchFromGitHub {
+      owner = "codota";
+      repo = "tabnine-vim";
+      rev = "fa891e62903501f7eeb2f00f6574ec9684e1c4ee";
+      sha256 = "0cra1l31fcngp3iyn61rlngz4qx7zwk68h07bgp9w5gjx59a7npz";
+      fetchSubmodules = true;
+    };
+    meta.homepage = "https://github.com/codota/tabnine-vim/";
+  };
+
   tabpagebuffer-vim = buildVimPluginFrom2Nix {
     pname = "tabpagebuffer-vim";
     version = "2014-09-30";
@@ -4984,12 +5021,12 @@ final: prev:
 
   telescope-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-nvim";
-    version = "2021-06-14";
+    version = "2021-07-03";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope.nvim";
-      rev = "6ac5ee0854fe02d651cadf2fc97a2463ff92f322";
-      sha256 = "1k2glya8cd000kzfvx5fif9fcqvcq1k2vrkwyzhfm4yngz7bxm1p";
+      rev = "38907ce7d74f26d123bfbb8ecf55bc9616b5ece5";
+      sha256 = "1dhjpcc6y6vxrlx9333hnjb6w20zmgs536s4kz6yzvn3w9mgk1kq";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
   };
@@ -5080,12 +5117,12 @@ final: prev:
 
   todo-comments-nvim = buildVimPluginFrom2Nix {
     pname = "todo-comments-nvim";
-    version = "2021-06-17";
+    version = "2021-07-04";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "todo-comments.nvim";
-      rev = "edbe161856eacc859987eaf28d41b67163d49791";
-      sha256 = "0mq5bx767zw1k7sxxrkijz3rz5hwi93xsxidppfg13qybi519jai";
+      rev = "d5f9bfc164c7ea306710d1a0a9d2db255387b1db";
+      sha256 = "1rrfbdhkgmnyxfk3fjmkk7f5sjdq9mrcw346lrjldgfih5qbaycj";
     };
     meta.homepage = "https://github.com/folke/todo-comments.nvim/";
   };
@@ -5837,12 +5874,12 @@ final: prev:
 
   vim-clap = buildVimPluginFrom2Nix {
     pname = "vim-clap";
-    version = "2021-06-26";
+    version = "2021-07-06";
     src = fetchFromGitHub {
       owner = "liuchengxu";
       repo = "vim-clap";
-      rev = "492eca7ff8e162ec8a8e4535860de399d7e1cd57";
-      sha256 = "1xxgf3mk26pj3w2lzdr4aw8xvya02ar57v01v1yajlw0rzx23crw";
+      rev = "7b4d7f9f140bbb0860b37d23a16d6bb20797c06a";
+      sha256 = "04vws8szlynv0s35xs3w98li89wd48ps6hlssscmk59dmdmjg1m4";
     };
     meta.homepage = "https://github.com/liuchengxu/vim-clap/";
   };
@@ -6197,12 +6234,12 @@ final: prev:
 
   vim-dirvish = buildVimPluginFrom2Nix {
     pname = "vim-dirvish";
-    version = "2020-09-07";
+    version = "2021-07-03";
     src = fetchFromGitHub {
       owner = "justinmk";
       repo = "vim-dirvish";
-      rev = "9c0dc32af9235d42715751b30cf04fa0584c1798";
-      sha256 = "1xl655mnhjn1mbqzvxblsbqyg3yq50ri2a7szvqmpywq8rr0ymq9";
+      rev = "ff3f5cdff71d7a9710a012f2ff11e1294f70c7a5";
+      sha256 = "0hxbwwml7qsjyjc88bmsl6ikc4bhpz17xh8qql9jsi3mkna66krh";
     };
     meta.homepage = "https://github.com/justinmk/vim-dirvish/";
   };
@@ -6377,24 +6414,24 @@ final: prev:
 
   vim-erlang-compiler = buildVimPluginFrom2Nix {
     pname = "vim-erlang-compiler";
-    version = "2021-01-16";
+    version = "2021-06-20";
     src = fetchFromGitHub {
       owner = "vim-erlang";
       repo = "vim-erlang-compiler";
-      rev = "a99e75f792650c8dae86d9a44c7af2411ea2ead7";
-      sha256 = "13400kjf90sxlpx1pqs379ihdn65i3gpck3dwkjnf1xiv1p9rzvz";
+      rev = "b334e956026f61c0bf289ffdf37ce9b2aefe01e1";
+      sha256 = "1lhy5kdq3chr1zd0f67nfzmd81jiiw4hif11rx7pkwh019wyalxx";
     };
     meta.homepage = "https://github.com/vim-erlang/vim-erlang-compiler/";
   };
 
   vim-erlang-omnicomplete = buildVimPluginFrom2Nix {
     pname = "vim-erlang-omnicomplete";
-    version = "2021-01-16";
+    version = "2021-07-03";
     src = fetchFromGitHub {
       owner = "vim-erlang";
       repo = "vim-erlang-omnicomplete";
-      rev = "924a50ed0ad93141063d0f27c9f62b1bea991baf";
-      sha256 = "0zh730wsb0n9nk1x5qdbx78zgzhamd2a6fa5gxl4milvr5ddvdy9";
+      rev = "7337df845b90b51f24087716564789c70ae03dc3";
+      sha256 = "00k7vr5x32qqhgp61fhbcbd2rfjs42lpig3k5jd6008hhpm2gw4j";
     };
     meta.homepage = "https://github.com/vim-erlang/vim-erlang-omnicomplete/";
   };
@@ -6545,12 +6582,12 @@ final: prev:
 
   vim-floaterm = buildVimPluginFrom2Nix {
     pname = "vim-floaterm";
-    version = "2021-06-26";
+    version = "2021-07-03";
     src = fetchFromGitHub {
       owner = "voldikss";
       repo = "vim-floaterm";
-      rev = "cb6ea20165aeb437d1bf16ca45275748b836c1ce";
-      sha256 = "1kv309fyf56vp0lglm8b93m4jk5yb8w0bm9gjr9wql4p32nlxkc1";
+      rev = "729f932a31c5cfa7dd43d25d1adfcf50feee2cc2";
+      sha256 = "1x4azjsc53191ylijagxpiidad0cgiaxyq7bpg1nx94yg8vcnp3y";
     };
     meta.homepage = "https://github.com/voldikss/vim-floaterm/";
   };
@@ -6605,12 +6642,12 @@ final: prev:
 
   vim-fugitive = buildVimPluginFrom2Nix {
     pname = "vim-fugitive";
-    version = "2021-06-19";
+    version = "2021-07-05";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "79e2bd381ad6e7f3d70ce4a8ec9f3f107b40f053";
-      sha256 = "0blgivpm1zbbm1pj77c1ks1w3aa9vid77h08146npa4xi6nnyzwf";
+      rev = "b498607aa79cc7099d02c30ae72812c245cc7091";
+      sha256 = "1g20y3p5f99w20fkf2bfsliy9p5isml04ybxf8mmgzivcy1wpbrj";
     };
     meta.homepage = "https://github.com/tpope/vim-fugitive/";
   };
@@ -6653,12 +6690,12 @@ final: prev:
 
   vim-git = buildVimPluginFrom2Nix {
     pname = "vim-git";
-    version = "2021-05-26";
+    version = "2021-07-02";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-git";
-      rev = "314fa6f289cec56d7d6e631f71b6d987832f0af4";
-      sha256 = "0ar095jxrnfcfbg5gzwb82mz93hpwsdsclzam80424m0iapgl4li";
+      rev = "71eba9bbba9c00337dbd132cbc12b1952daf0d29";
+      sha256 = "161a546b7gx22j42djxbxirs34pis0kgwz71glqqj6zr32rzapfm";
     };
     meta.homepage = "https://github.com/tpope/vim-git/";
   };
@@ -6725,12 +6762,12 @@ final: prev:
 
   vim-go = buildVimPluginFrom2Nix {
     pname = "vim-go";
-    version = "2021-06-26";
+    version = "2021-06-28";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "e32b1a46ad5fc1fcb6765ef6150726c0af174c68";
-      sha256 = "04pbqwi4n0dyhhfwi3kp78dnyxdza2bg5pn7wbbkz7c6k3jhjysa";
+      rev = "32bcf757e455ab3b87c9201247b9a6b091d44ea0";
+      sha256 = "1ymd4dqd8725962iz12slrdgjp2sxqrrmznq18za4q14psy6dcin";
     };
     meta.homepage = "https://github.com/fatih/vim-go/";
   };
@@ -7255,12 +7292,12 @@ final: prev:
 
   vim-kitty-navigator = buildVimPluginFrom2Nix {
     pname = "vim-kitty-navigator";
-    version = "2021-04-28";
+    version = "2021-07-02";
     src = fetchFromGitHub {
       owner = "knubie";
       repo = "vim-kitty-navigator";
-      rev = "50b87c4287c791addc7364dfa377605d0837d326";
-      sha256 = "0z3hmgflpiv0czdrkvpc845ms7bjy9rs2a6mp7gyzlqyqrjvqzzy";
+      rev = "dedbd5358a5b3b519f1f2c9c032ea6e4ff41d6b4";
+      sha256 = "01jgblg1qfq9149fab5kcaa3q5fa7d8psxvgs8gkbs109nxkrjc4";
     };
     meta.homepage = "https://github.com/knubie/vim-kitty-navigator/";
   };
@@ -7532,12 +7569,12 @@ final: prev:
 
   vim-matchup = buildVimPluginFrom2Nix {
     pname = "vim-matchup";
-    version = "2021-06-17";
+    version = "2021-07-05";
     src = fetchFromGitHub {
       owner = "andymass";
       repo = "vim-matchup";
-      rev = "4cd3736a6869ab0b0a4b739dbde11f1f6129beea";
-      sha256 = "1i863kl9n2cwkdidn8gajm5n2hv0mfqir4xycva54fw28mads8ds";
+      rev = "05f4962c64c5dcd720b8cf5f7af777de33f2fa43";
+      sha256 = "10nfiban4ihsix2zf4qp38mcdmlz3zb6n01n5wkgz9yga28y9jxm";
     };
     meta.homepage = "https://github.com/andymass/vim-matchup/";
   };
@@ -7844,12 +7881,12 @@ final: prev:
 
   vim-orgmode = buildVimPluginFrom2Nix {
     pname = "vim-orgmode";
-    version = "2021-01-20";
+    version = "2021-06-29";
     src = fetchFromGitHub {
       owner = "jceb";
       repo = "vim-orgmode";
-      rev = "3aeea0648f485f002cfcaf1b3e6a25ef43a12a66";
-      sha256 = "0jx5vw72p8s5np31g0macwx3iqghfgzvx30akyk5fspfayjivaxl";
+      rev = "4ad432d7da4e01e7fce86d25528a6587efce6ca4";
+      sha256 = "0lhgph6hp130sbbc1frsmrjp9qrf6gqk12azjq63bb0rs5884q5h";
     };
     meta.homepage = "https://github.com/jceb/vim-orgmode/";
   };
@@ -8060,12 +8097,12 @@ final: prev:
 
   vim-polyglot = buildVimPluginFrom2Nix {
     pname = "vim-polyglot";
-    version = "2021-06-09";
+    version = "2021-06-27";
     src = fetchFromGitHub {
       owner = "sheerun";
       repo = "vim-polyglot";
-      rev = "4899585281beab51e5dff1d9ae4d3159244a8275";
-      sha256 = "1518dvxf99nvky0mrvgv65if0wjhpiv3021rddhn52j04vri4pdd";
+      rev = "4f5388350be1052f610b830c8fce8fbc17370ec6";
+      sha256 = "04cljqrywz3y3r336ahri2b2jig9a6pvxljkkjnlssgjlx0azvv9";
     };
     meta.homepage = "https://github.com/sheerun/vim-polyglot/";
   };
@@ -8216,12 +8253,12 @@ final: prev:
 
   vim-quickrun = buildVimPluginFrom2Nix {
     pname = "vim-quickrun";
-    version = "2021-06-18";
+    version = "2021-06-29";
     src = fetchFromGitHub {
       owner = "thinca";
       repo = "vim-quickrun";
-      rev = "e5e83bfd613bd58aa6bbbfaaed2f7eef1ed0b378";
-      sha256 = "1zcjlz5d4bp0y28mxlzlyb76klpwr49i0kgzpab2v5vy8qlzsvxb";
+      rev = "b39b1f6c69f7086e500ad7a6318c7bc97249b944";
+      sha256 = "1cwsbscbfmjjr9grxgdprfydlybmwdf7qxdmcwbfj18xqbjx6cjq";
     };
     meta.homepage = "https://github.com/thinca/vim-quickrun/";
   };
@@ -8576,12 +8613,12 @@ final: prev:
 
   vim-sneak = buildVimPluginFrom2Nix {
     pname = "vim-sneak";
-    version = "2020-09-01";
+    version = "2021-07-03";
     src = fetchFromGitHub {
       owner = "justinmk";
       repo = "vim-sneak";
-      rev = "65e5e4668371152c6ef7a6269c6a6b960cef21b4";
-      sha256 = "0bfibshqqa17n9vbdd2g8kalnc78v1ag3hzws9pdacrcsxhsh0ry";
+      rev = "51c21ee1ffeea132104da619c9643e61e337e427";
+      sha256 = "1da9b5c15sm8cacfwkggg7kl61vxk94qsamanaaz776xlsj0b9z0";
     };
     meta.homepage = "https://github.com/justinmk/vim-sneak/";
   };
@@ -8600,12 +8637,12 @@ final: prev:
 
   vim-snippets = buildVimPluginFrom2Nix {
     pname = "vim-snippets";
-    version = "2021-06-24";
+    version = "2021-06-28";
     src = fetchFromGitHub {
       owner = "honza";
       repo = "vim-snippets";
-      rev = "7bb2385aca2288845999c05d9eca83e2e8eaed90";
-      sha256 = "0r41cd27dzfq4pnafr4an1zlafwmi7sa44w4yxmxyn7wky4rhf61";
+      rev = "749460bc5b05b1f4015a041508031d99b1b24982";
+      sha256 = "0f1n0gg8asz0sg81dwc3gg5nl5j142qyd960f7fzdiv7grv7l0xk";
     };
     meta.homepage = "https://github.com/honza/vim-snippets/";
   };
@@ -8684,12 +8721,12 @@ final: prev:
 
   vim-startuptime = buildVimPluginFrom2Nix {
     pname = "vim-startuptime";
-    version = "2021-05-29";
+    version = "2021-07-04";
     src = fetchFromGitHub {
       owner = "dstein64";
       repo = "vim-startuptime";
-      rev = "7a97baae32bedbf6f62d5a573777e4d1652787d1";
-      sha256 = "1sphykwbjd35kwsibm9wcxbs2iwjkzkg7madqvlxzi7sqh4vkc7y";
+      rev = "d4cc839f4a7c8fc0b7fbf8ec6a11ef1c1be846e1";
+      sha256 = "05yz4cpxx7n6ggkm8n9s0q387syllbn8s8vn4fwchnml4jdqigfq";
     };
     meta.homepage = "https://github.com/dstein64/vim-startuptime/";
   };
@@ -8816,12 +8853,12 @@ final: prev:
 
   vim-terraform = buildVimPluginFrom2Nix {
     pname = "vim-terraform";
-    version = "2021-06-09";
+    version = "2021-07-02";
     src = fetchFromGitHub {
       owner = "hashivim";
       repo = "vim-terraform";
-      rev = "814a21db89f742c3ea492c69c5a2bfecded1aeb3";
-      sha256 = "0acdq2m16mhm3g6n4saqf9fljz5qfdalw88h126z2f6mm731y6pi";
+      rev = "37590260914178e04b46d1248e444e718da519c6";
+      sha256 = "13cvpb2fkqsj4m8lz6b7znmgayaf1sadysn07z2x2fs7ca856hrg";
     };
     meta.homepage = "https://github.com/hashivim/vim-terraform/";
   };
@@ -9069,12 +9106,12 @@ final: prev:
 
   vim-ultest = buildVimPluginFrom2Nix {
     pname = "vim-ultest";
-    version = "2021-06-24";
+    version = "2021-07-05";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "vim-ultest";
-      rev = "eaa0eeaaa2bcc8f4400a7d2e8ff56cf1141074e4";
-      sha256 = "148yy7f88jvavz8n0r2lfjn51bfdi2pbs192srf82kikmfg0lxk7";
+      rev = "43ec7b40a83fcde104d3e5e69a2c112f9dc52325";
+      sha256 = "1q2rcqllip1raay9nj2cacn6vsairrywg7yxh783zf13n9bmr5vb";
     };
     meta.homepage = "https://github.com/rcarriga/vim-ultest/";
   };
@@ -9141,12 +9178,12 @@ final: prev:
 
   vim-visual-multi = buildVimPluginFrom2Nix {
     pname = "vim-visual-multi";
-    version = "2021-06-22";
+    version = "2021-07-01";
     src = fetchFromGitHub {
       owner = "mg979";
       repo = "vim-visual-multi";
-      rev = "929703f069c7078e0c41efb5a260421347ce083a";
-      sha256 = "05ky5l3yadp3whbi2a2i38rq620m51r2xi86q80z11a99j5q6ff5";
+      rev = "f994695813ebaecc9e37c7ea216c65d9cd659767";
+      sha256 = "11n0g6d1yn38lrshlbzc28sfn1qghsjd2nmxzbp86vwm8dysxm5i";
     };
     meta.homepage = "https://github.com/mg979/vim-visual-multi/";
   };
@@ -9165,12 +9202,12 @@ final: prev:
 
   vim-vsnip = buildVimPluginFrom2Nix {
     pname = "vim-vsnip";
-    version = "2021-06-01";
+    version = "2021-07-05";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "vim-vsnip";
-      rev = "552403842b992efde3816a89b20055f7d66d9a0d";
-      sha256 = "1pkkysv2mnbzm2bi33l1xccdb6sh06dgyg83dg0dgd0gmp94l7ya";
+      rev = "d9d3c2d2942b8e35aedc5c82552913b19958de77";
+      sha256 = "06hv1rf3br32n6ks5fic8x9c1m32n3wx4pj4xgmy9q58gf95sn2w";
     };
     meta.homepage = "https://github.com/hrsh7th/vim-vsnip/";
   };
@@ -9489,12 +9526,12 @@ final: prev:
 
   vimspector = buildVimPluginFrom2Nix {
     pname = "vimspector";
-    version = "2021-06-24";
+    version = "2021-07-04";
     src = fetchFromGitHub {
       owner = "puremourning";
       repo = "vimspector";
-      rev = "aa0cddc0da5b2547d20551dcffe1d9dc073b3904";
-      sha256 = "0niv2aa294ay0ifksg5ymrslbj9l6sxypyi3pnmgiigqj8m61yzs";
+      rev = "da39c4955c2ad0ffa28f5cba81651b568697629c";
+      sha256 = "02c7kxfalp52k2ij5r6hjnvqd2azkhx9sglqr85bc53rvh1rgi7y";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/puremourning/vimspector/";
@@ -9502,12 +9539,12 @@ final: prev:
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2021-06-25";
+    version = "2021-07-05";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "78789f5c9e73d7b66f87104544d521333b09a33b";
-      sha256 = "1rrblrip8xa1wxp8kj0kjry63n4pbja4fnnjbvw07bnihr6igjx1";
+      rev = "3807da1c530e46fb6a633a2268f6e435b16b657b";
+      sha256 = "0l05fkisvcq9p9jwbxpbb9svwi0h4gp84d7dc4zlkrin1jwnnxyd";
     };
     meta.homepage = "https://github.com/lervag/vimtex/";
   };
@@ -9598,12 +9635,12 @@ final: prev:
 
   which-key-nvim = buildVimPluginFrom2Nix {
     pname = "which-key-nvim";
-    version = "2021-06-26";
+    version = "2021-07-05";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "which-key.nvim";
-      rev = "e0dce1552ea37964ae6ac7144709867544eae7f3";
-      sha256 = "16xwpds1d1dc5p2rz17yqiyr0a844kqj5gnxwnrk2l56fhrhq8xx";
+      rev = "2d2954a1d05b4f074e022e64db9aa6093d439bb0";
+      sha256 = "0xpf889ijhrbnpjcky575k46nfh69m5dzcfnvw29vwhdikaz33ma";
     };
     meta.homepage = "https://github.com/folke/which-key.nvim/";
   };
@@ -9719,12 +9756,12 @@ final: prev:
 
   YouCompleteMe = buildVimPluginFrom2Nix {
     pname = "YouCompleteMe";
-    version = "2021-05-25";
+    version = "2021-07-05";
     src = fetchFromGitHub {
       owner = "ycm-core";
       repo = "YouCompleteMe";
-      rev = "4df6f35f0c9f9aec21a3f567397496b5dee6acc7";
-      sha256 = "1ywdxm9sy57k9wp9gkcahhsy8r75ahxsgb7xcdjpzacg4iranj99";
+      rev = "c83c240e1397291bf1babcba173253d7f753a0b6";
+      sha256 = "0lr2vl9rdjr2lgbs5vlbcjw3zrwv66w5bijlpk1xy45ccbrbq2nw";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/ycm-core/YouCompleteMe/";
diff --git a/nixpkgs/pkgs/misc/vim-plugins/overrides.nix b/nixpkgs/pkgs/misc/vim-plugins/overrides.nix
index 0901531a8aa3..e10cf541066c 100644
--- a/nixpkgs/pkgs/misc/vim-plugins/overrides.nix
+++ b/nixpkgs/pkgs/misc/vim-plugins/overrides.nix
@@ -621,7 +621,7 @@ self: super: {
             libiconv
           ];
 
-          cargoSha256 = "sha256-IKSnXNFdtykuajOxpw5CYsw2q/mkVLkRtPC49hiXsPc=";
+          cargoSha256 = "sha256-hcbNjp9KLJO0RANOvtopvdiK0w9ESUXk0KOTPvVcCX4=";
         };
       in
       ''
diff --git a/nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names b/nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names
index 22adf1de606a..de93c6750e55 100644
--- a/nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names
@@ -24,6 +24,7 @@ andweeb/presence.nvim@main
 andymass/vim-matchup
 andys8/vim-elm-syntax
 antoinemadec/coc-fzf
+antoinemadec/FixCursorHold.nvim
 ap/vim-css-color
 arcticicestudio/nord-vim
 arthurxavierx/vim-unicoder
@@ -72,6 +73,7 @@ clojure-vim/vim-jack-in
 cloudhead/neovim-fuzzy
 CoatiSoftware/vim-sourcetrail
 cocopon/iceberg.vim
+codota/tabnine-vim
 cohama/lexima.vim
 ConradIrwin/vim-bracketed-paste
 crusoexia/vim-monokai
@@ -100,6 +102,7 @@ digitaltoad/vim-pug
 direnv/direnv.vim
 dleonard0/pony-vim-syntax
 dmix/elvish.vim
+doki-theme/doki-theme-vim
 dominikduda/vim_current_word
 dpelle/vim-LanguageTool
 dracula/vim as dracula-vim
@@ -344,7 +347,6 @@ LucHermitte/lh-vim-lib
 ludovicchabant/vim-gutentags
 ludovicchabant/vim-lawrencium
 lukas-reineke/indent-blankline.nvim
-lukas-reineke/indent-blankline.nvim@lua as indent-blankline-nvim-lua
 lukaszkorecki/workflowish
 lumiliet/vim-twig
 luochen1990/rainbow
@@ -488,6 +490,7 @@ nvim-treesitter/playground
 oberblastmeister/termwrapper.nvim
 ocaml/vim-ocaml
 octol/vim-cpp-enhanced-highlight
+ojroques/nvim-bufdel@main
 ojroques/vim-oscyank@main
 Olical/aniseed
 Olical/conjure
diff --git a/nixpkgs/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix b/nixpkgs/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix
index 8ccf18171c77..0fa9a4bb4bee 100644
--- a/nixpkgs/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix
+++ b/nixpkgs/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix
@@ -38,8 +38,8 @@ in ((vscode-utils.override { stdenv = gccStdenv; }).buildVscodeMarketplaceExtens
   mktplcRef = {
     name = "vsliveshare";
     publisher = "ms-vsliveshare";
-    version = "1.0.4419";
-    sha256 = "1r2xp8ggcrfsf4yzxjiss3hprk4dw7nchwxy920yn2iglvkaalsh";
+    version = "1.0.4498";
+    sha256 = "01gg9jqkq9z05ckw0mnqfr769359j6h3z8ay6r17jj6m4mhy2m5g";
   };
 }).overrideAttrs({ nativeBuildInputs ? [], buildInputs ? [], ... }: {
   nativeBuildInputs = nativeBuildInputs ++ [
diff --git a/nixpkgs/pkgs/misc/vscode-extensions/rust-analyzer/build-deps/package.json b/nixpkgs/pkgs/misc/vscode-extensions/rust-analyzer/build-deps/package.json
index 20dd6593abff..d54ad42b1f6d 100644
--- a/nixpkgs/pkgs/misc/vscode-extensions/rust-analyzer/build-deps/package.json
+++ b/nixpkgs/pkgs/misc/vscode-extensions/rust-analyzer/build-deps/package.json
@@ -4,7 +4,7 @@
   "dependencies": {
     "https-proxy-agent": "^5.0.0",
     "node-fetch": "^2.6.1",
-    "vscode-languageclient": "^7.1.0-next.4",
+    "vscode-languageclient": "^7.1.0-next.5",
     "@rollup/plugin-commonjs": "^17.0.0",
     "@rollup/plugin-node-resolve": "^11.0.0",
     "@types/glob": "^7.1.3",
diff --git a/nixpkgs/pkgs/os-specific/darwin/apple-sdk-11.0/private-frameworks.nix b/nixpkgs/pkgs/os-specific/darwin/apple-sdk-11.0/private-frameworks.nix
index bb4300d623a4..b8786ec92f6d 100644
--- a/nixpkgs/pkgs/os-specific/darwin/apple-sdk-11.0/private-frameworks.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/apple-sdk-11.0/private-frameworks.nix
@@ -15,4 +15,7 @@
   SignpostMetrics = {};
   PassKitCore = {};
   SkyLight = {};
+
+  # Also expose CoreSymbolication; used by `root` package.
+  CoreSymbolication = {};
 }
diff --git a/nixpkgs/pkgs/os-specific/darwin/apple-sdk/default.nix b/nixpkgs/pkgs/os-specific/darwin/apple-sdk/default.nix
index 1b60abf562b8..56b77fbf2148 100644
--- a/nixpkgs/pkgs/os-specific/darwin/apple-sdk/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/apple-sdk/default.nix
@@ -326,7 +326,7 @@ in rec {
         "Versions/A/Frameworks/WebKitLegacy.framework/Versions/A/WebKitLegacy.tbd"
       ];
     });
-  } // lib.genAttrs [ "ContactsPersistence" "GameCenter" "SkyLight" "UIFoundation" ] (x: tbdOnlyFramework x {});
+  } // lib.genAttrs [ "ContactsPersistence" "CoreSymbolication" "GameCenter" "SkyLight" "UIFoundation" ] (x: tbdOnlyFramework x {});
 
   bareFrameworks = lib.mapAttrs framework (import ./frameworks.nix {
     inherit frameworks libs;
diff --git a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-utils/default.nix b/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-utils/default.nix
index 37bda86b0a6a..782e6ffce8cb 100644
--- a/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-utils/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/alsa-project/alsa-utils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "alsa-utils";
-  version = "1.2.5";
+  version = "1.2.5.1";
 
   src = fetchurl {
     url = "mirror://alsa/utils/${pname}-${version}.tar.bz2";
-    sha256 = "15wrl7jsprpcqdk01a3hdh2lak5jhp5jgflkr80h1crqb3q0m5q9";
+    sha256 = "sha256-nBaa43pJKV+bl7kqzncoA9r2tlEKGVdOC3j4flYhGNA=";
   };
 
   nativeBuildInputs = [ gettext makeWrapper ];
diff --git a/nixpkgs/pkgs/os-specific/linux/bpftools/default.nix b/nixpkgs/pkgs/os-specific/linux/bpftools/default.nix
index 3e20efa9f012..f2ca8d874714 100644
--- a/nixpkgs/pkgs/os-specific/linux/bpftools/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/bpftools/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
   buildInputs = [ libopcodes libbfd libelf zlib readline ];
 
   preConfigure = ''
-    patchShebangs scripts/bpf_helpers_doc.py
+    patchShebangs scripts/bpf_doc.py
 
     cd tools/bpf
     substituteInPlace ./bpftool/Makefile \
diff --git a/nixpkgs/pkgs/os-specific/linux/bpftrace/default.nix b/nixpkgs/pkgs/os-specific/linux/bpftrace/default.nix
index 650e85df517d..4d2f29491fca 100644
--- a/nixpkgs/pkgs/os-specific/linux/bpftrace/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/bpftrace/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bpftrace";
-  version = "0.12.1";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner  = "iovisor";
     repo   = "bpftrace";
     rev    = "v${version}";
-    sha256 = "sha256-DZO47AH506DBVH/AuvOF3JfpRxv/D/lmzVg8WOH9Dqo=";
+    sha256 = "sha256-BKWBdFzj0j7rAfG30A0fwyYCpOG/5NFRPODW46EP1u0=";
   };
 
   buildInputs = with llvmPackages;
diff --git a/nixpkgs/pkgs/os-specific/linux/busybox/sandbox-shell.nix b/nixpkgs/pkgs/os-specific/linux/busybox/sandbox-shell.nix
index f5db0b25f18f..fa70e5f91d80 100644
--- a/nixpkgs/pkgs/os-specific/linux/busybox/sandbox-shell.nix
+++ b/nixpkgs/pkgs/os-specific/linux/busybox/sandbox-shell.nix
@@ -8,6 +8,7 @@ busybox.override {
     CONFIG_FEATURE_FANCY_ECHO y
     CONFIG_FEATURE_SH_MATH y
     CONFIG_FEATURE_SH_MATH_64 y
+    CONFIG_FEATURE_TEST_64 y
 
     CONFIG_ASH y
     CONFIG_ASH_OPTIMIZE_FOR_SIZE y
diff --git a/nixpkgs/pkgs/os-specific/linux/evdi/default.nix b/nixpkgs/pkgs/os-specific/linux/evdi/default.nix
index a8a0445e955d..5eb31e9422de 100644
--- a/nixpkgs/pkgs/os-specific/linux/evdi/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/evdi/default.nix
@@ -2,15 +2,28 @@
 
 stdenv.mkDerivation rec {
   pname = "evdi";
-  version = "unstable-20210401";
+  version = "unstable-2021-06-11";
 
   src = fetchFromGitHub {
     owner = "DisplayLink";
     repo = pname;
-    rev = "b0b3d131b26df62664ca33775679eea7b70c47b1";
-    sha256 = "09apbvdc78bbqzja9z3b1wrwmqkv3k7cn3lll5gsskxjnqbhxk9y";
+    rev = "65e12fca334f2f42396f4e8d16592d53cab34dd6";
+    sha256 = "sha256-81IfdYKadKT7vRdkmxzfGo4KHa4UJ8uJ0K6djQCr22U=";
   };
 
+  # Linux 5.13 support
+  # The patches break compilation for older kernels
+  patches = lib.optional (kernel.kernelAtLeast "5.13") [
+    (fetchpatch {
+      url = "https://github.com/DisplayLink/evdi/commit/c5f5441d0a115d2cfc8125b8bafaa05b2edc7938.patch";
+      sha256 = "sha256-tWYgBrRh3mXPebhUygOvJ07V87g9JU66hREriACfEVI=";
+    })
+    (fetchpatch {
+      url = "https://github.com/DisplayLink/evdi/commit/5f04d2e2df4cfd21dc15d31f1152c6a66fa48a78.patch";
+      sha256 = "sha256-690/eUiEVWvnT/YAVgKcLo86dgolF9giWRuPxXpL+eQ=";
+    })
+  ];
+
   nativeBuildInputs = kernel.moduleBuildDependencies;
 
   buildInputs = [ kernel libdrm ];
@@ -31,8 +44,8 @@ stdenv.mkDerivation rec {
     description = "Extensible Virtual Display Interface";
     maintainers = with maintainers; [ eyjhb ];
     platforms = platforms.linux;
-    license = with licenses; [ lgpl21 gpl2 ];
+    license = with licenses; [ lgpl21Only gpl2Only ];
     homepage = "https://www.displaylink.com/";
-    broken = versionOlder kernel.version "4.19" || stdenv.isAarch64;
+    broken = kernel.kernelOlder "4.19" || stdenv.isAarch64;
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/firejail/default.nix b/nixpkgs/pkgs/os-specific/linux/firejail/default.nix
index 95998c694fb9..1a9b7e34f5a2 100644
--- a/nixpkgs/pkgs/os-specific/linux/firejail/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/firejail/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "firejail";
-  version = "0.9.64.4";
+  version = "0.9.66";
 
   src = fetchFromGitHub {
     owner = "netblue30";
     repo = "firejail";
     rev = version;
-    sha256 = "sha256-q/XL8cznHlUXdubUEptEAVma1jRUqFb5XcLAV0RVCzs=";
+    sha256 = "sha256-oKstTiGt0r4wePaZ9u1o78GZ1XWJ27aS0BdLxmfYk9Q=";
   };
 
   buildInputs = [ which ];
diff --git a/nixpkgs/pkgs/os-specific/linux/firmware/rtw89-firmware/default.nix b/nixpkgs/pkgs/os-specific/linux/firmware/rtw89-firmware/default.nix
new file mode 100644
index 000000000000..8e71770df9ce
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/firmware/rtw89-firmware/default.nix
@@ -0,0 +1,25 @@
+{ stdenvNoCC, lib, linuxPackages }:
+
+stdenvNoCC.mkDerivation {
+  pname = "rtw89-firmware";
+  inherit (linuxPackages.rtw89) version src;
+
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/lib/firmware/rtw89
+    cp *.bin $out/lib/firmware/rtw89
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Driver for Realtek 8852AE, an 802.11ax device";
+    homepage = "https://github.com/lwfinger/rtw89";
+    license = licenses.unfreeRedistributableFirmware;
+    maintainers = with maintainers; [ tvorog ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/os-specific/linux/irqbalance/default.nix b/nixpkgs/pkgs/os-specific/linux/irqbalance/default.nix
index 7cb05f7fe989..4b7a4527e2c7 100644
--- a/nixpkgs/pkgs/os-specific/linux/irqbalance/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/irqbalance/default.nix
@@ -2,16 +2,17 @@
 
 stdenv.mkDerivation rec {
   pname = "irqbalance";
-  version = "1.7.0";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "irqbalance";
     repo = "irqbalance";
     rev = "v${version}";
-    sha256 = "1677ap6z4hvwga0vb8hrvpc0qggyarg9mlg11pxywz7mq94vdx19";
+    sha256 = "sha256-K+Nv6HqBZb0pwfNV127QDq+suaUD7TTV413S6j8NdUU=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
+
   buildInputs = [ glib ncurses libcap_ng ];
 
   LDFLAGS = "-lncurses";
@@ -26,10 +27,12 @@ stdenv.mkDerivation rec {
         --replace ' $IRQBALANCE_ARGS' ""
     '';
 
-  meta = {
+  meta = with lib; {
     homepage = "https://github.com/Irqbalance/irqbalance";
+    changelog = "https://github.com/Irqbalance/irqbalance/releases/tag/v${version}";
     description = "A daemon to help balance the cpu load generated by interrupts across all of a systems cpus";
-    license = lib.licenses.gpl2;
-    platforms = lib.platforms.linux;
+    license = licenses.gpl2Only;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ fortuneteller2k ];
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix b/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix
index 26bb9f82063b..355e653c8eae 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix
@@ -844,6 +844,7 @@ let
       PREEMPT_VOLUNTARY = yes;
 
       X86_AMD_PLATFORM_DEVICE = yes;
+      X86_PLATFORM_DRIVERS_DELL = whenAtLeast "5.12" yes;
 
     } // optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "aarch64-linux") {
       # Enable CPU/memory hotplug support
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json b/nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json
index 3d3ddfc3310c..bd1a5397f605 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json
@@ -1,32 +1,32 @@
 {
     "4.14": {
         "extra": "-hardened1",
-        "name": "linux-hardened-4.14.237-hardened1.patch",
-        "sha256": "0iz7q29dazp11ii1f2kcffkpi14765w0ryrn6dsb8mlqcsw639lc",
-        "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.237-hardened1/linux-hardened-4.14.237-hardened1.patch"
+        "name": "linux-hardened-4.14.238-hardened1.patch",
+        "sha256": "13wld3dm9ymwcsk5f06l64z9q49ff7rh7dqfqxxhkngdx2i1h566",
+        "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.238-hardened1/linux-hardened-4.14.238-hardened1.patch"
     },
     "4.19": {
         "extra": "-hardened1",
-        "name": "linux-hardened-4.19.195-hardened1.patch",
-        "sha256": "1h8v28kscaz4y2samww3vxpq4xvkbdvsnr0hybimn0ygwphshpqq",
-        "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.195-hardened1/linux-hardened-4.19.195-hardened1.patch"
+        "name": "linux-hardened-4.19.196-hardened1.patch",
+        "sha256": "1wna5j1g1703gl4xw4x5z8dmc8gjqg879zq4xnmlyc0vryqjrxyq",
+        "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.196-hardened1/linux-hardened-4.19.196-hardened1.patch"
     },
     "5.10": {
         "extra": "-hardened1",
-        "name": "linux-hardened-5.10.45-hardened1.patch",
-        "sha256": "1382dflkv31b9apf3l0b5wcq8hyi69jm03139z3m0vbxi93pk44z",
-        "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.45-hardened1/linux-hardened-5.10.45-hardened1.patch"
+        "name": "linux-hardened-5.10.47-hardened1.patch",
+        "sha256": "0qkwz3d83p2l5p7lhj3imfx8cr17smciw76xhj00zv171vc3q7xm",
+        "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.47-hardened1/linux-hardened-5.10.47-hardened1.patch"
     },
     "5.12": {
         "extra": "-hardened1",
-        "name": "linux-hardened-5.12.12-hardened1.patch",
-        "sha256": "10923kjxhfphsh1wr0zjj3lk16bxkq9ana4hyy8af7cn2k30k4iw",
-        "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.12.12-hardened1/linux-hardened-5.12.12-hardened1.patch"
+        "name": "linux-hardened-5.12.14-hardened1.patch",
+        "sha256": "0c5zi03j5bjhr706wad1qf5kr4nv0s2bzkx4z5mr6wqgra5dg22v",
+        "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.12.14-hardened1/linux-hardened-5.12.14-hardened1.patch"
     },
     "5.4": {
         "extra": "-hardened1",
-        "name": "linux-hardened-5.4.127-hardened1.patch",
-        "sha256": "1qsz5cnm0ny138pbd9f7j5avvz69g51db7dgr1q4farrjml3nshy",
-        "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.127-hardened1/linux-hardened-5.4.127-hardened1.patch"
+        "name": "linux-hardened-5.4.129-hardened1.patch",
+        "sha256": "0b16w4jm22mlhwfvbzbg8bw9z7hp13r1bl5g5rk42vmz07ahknga",
+        "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.129-hardened1/linux-hardened-5.4.129-hardened1.patch"
     }
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix
index a550008b9d50..f418afc280bd 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "4.14.237";
+  version = "4.14.238";
 
   # 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,7 +13,7 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0kib9p61hhwjbr8zhir9aw86qik7k6bm95503n3k09ayyachajpq";
+    sha256 = "1phjgm1fhyfpm2h9b2bngcbh91v2qrxcm7vma86q7pdqrcbh1fih";
   };
 
   kernelTests = args.kernelTests or [ nixosTests.kernel-generic.linux_4_14 ];
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix
index 42d98f1485e8..460982b6d2fc 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "4.19.195";
+  version = "4.19.196";
 
   # 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,7 +13,7 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "02rdy5mdmwxli0cin5n7ab492y9fs01hhqxrjq6b4idwv5baa42m";
+    sha256 = "0liapgaczv6lq7223wnq2cbwfb6w93iw14dv1xidcb3bnakm4h5f";
   };
 
   kernelTests = args.kernelTests or [ nixosTests.kernel-generic.linux_4_19 ];
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.4.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.4.nix
index d06d5133b477..9a5dcb7e1ad1 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.4.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.4.nix
@@ -1,13 +1,13 @@
 { buildPackages, fetchurl, perl, buildLinux, nixosTests, stdenv, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.4.273";
+  version = "4.4.274";
   extraMeta.branch = "4.4";
   extraMeta.broken = stdenv.isAarch64;
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1pd39cak0zhda3m9nvn9yxgd070wxvckaha5wl8pi7c8i6jfpclb";
+    sha256 = "1n4wawk8fi5s22177994vq9hzay49cackdabl9r1x8y2i9jcqmg4";
   };
 
   kernelTests = args.kernelTests or [ nixosTests.kernel-generic.linux_4_4 ];
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.9.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.9.nix
index d614464bf2ae..a4d57135e4af 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,13 +1,13 @@
 { buildPackages, fetchurl, perl, buildLinux, nixosTests, stdenv, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.9.273";
+  version = "4.9.274";
   extraMeta.branch = "4.9";
   extraMeta.broken = stdenv.isAarch64;
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0jjarv3xfkc21j1xhgch53w8wm6rq3xw1i03rjw9fv5i9k4x6qsw";
+    sha256 = "0xdi33f25lbpplx36cz7chdsn7a6xdjvwxgvnmvrw7b2y0g45m95";
   };
 
   kernelTests = args.kernelTests or [ nixosTests.kernel-generic.linux_4_9 ];
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.10.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.10.nix
index e11b5db3d303..deec1b3a475f 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.10.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.10.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.10.45";
+  version = "5.10.47";
 
   # 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,7 +13,7 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "01rmw5rnxyybr8sh0v9rgamrg71ign2nr7m0ilrq9704k6dj9dzj";
+    sha256 = "1ig1kb10729xyawm2zqzx8slpdbylgwms7b5vkhw3q6iwqpjmd9h";
   };
 
   kernelTests = args.kernelTests or [ nixosTests.kernel-generic.linux_5_10 ];
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.12.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.12.nix
index 5cc25f4a6dac..93e7499c8dd0 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.12.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.12.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.12.12";
+  version = "5.12.14";
 
   # 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,7 +13,7 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "1a1ymbgkp8ngrkf7cfjrn56zb9qz1mm1j1pmd60g85ln7nyb4ai1";
+    sha256 = "1b3xnb62n53vm6larkvv2vzd9w7cjnqh8zh6jzq9lpcg12c3pjlh";
   };
 
   kernelTests = args.kernelTests or [ nixosTests.kernel-generic.linux_5_12 ];
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.4.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.4.nix
index 377a53083456..c5b4e390582a 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.4.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.4.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.4.127";
+  version = "5.4.129";
 
   # 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,7 +13,7 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "1gr89x1ymxaslp9fqcchaa7939yvhxy67z3pgskmx6z2vrd9pgd0";
+    sha256 = "1ps64gx85lmbriq445hd2hcv4g4b1d1cwf4r3nd90x6i2cj4c9j4";
   };
 
   kernelTests = args.kernelTests or [ nixosTests.kernel-generic.linux_5_4 ];
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-lqx.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-lqx.nix
index 609dc494c69d..eacb906f2e54 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-lqx.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-lqx.nix
@@ -1,8 +1,8 @@
 { lib, fetchFromGitHub, buildLinux, linux_zen, ... } @ args:
 
 let
-  version = "5.12.9";
-  suffix = "lqx1";
+  version = "5.12.14";
+  suffix = "lqx2";
 in
 
 buildLinux (args // {
@@ -14,7 +14,7 @@ buildLinux (args // {
     owner = "zen-kernel";
     repo = "zen-kernel";
     rev = "v${version}-${suffix}";
-    sha256 = "sha256-qmX66nz+gVOt1RGsUT9fA3wPUT7I9Z4jhxpybP0I8Cw=";
+    sha256 = "sha256-pj5sSW4ggZEx2n7bVU2sfK3JOXG5n4Rsp3S66/+/wVU=";
   };
 
   extraMeta = {
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
index 5567022edccb..78e45a7bd91c 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
@@ -27,7 +27,7 @@ in buildLinux (args // {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
       sha256 = "1z8jgsq5fkg486xxawg4c4wk1l9xra7x1cfqaf4grhw0csbbx883";
     };
-  }; in [ rt-patch ] ++ lib.remove rt-patch kernelPatches;
+  }; in [ rt-patch ] ++ kernelPatches;
 
   structuredExtraConfig = with lib.kernel; {
     PREEMPT_RT = yes;
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.11.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.11.nix
index d9ebedf68016..5d1b14f1d0f0 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.11.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.11.nix
@@ -27,7 +27,7 @@ in buildLinux (args // {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
       sha256 = "1az6cn9jj3bnjgwzzrjy1adnrnn06p2vzsnc1iib4xhs0sfr27hc";
     };
-  }; in [ rt-patch ] ++ lib.remove rt-patch kernelPatches;
+  }; in [ rt-patch ] ++ kernelPatches;
 
   structuredExtraConfig = with lib.kernel; {
     PREEMPT_RT = yes;
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix
index 8592ad4c3b34..ec3aa7f7006e 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix
@@ -23,7 +23,7 @@ in buildLinux (args // {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
       sha256 = "1m1mnmk7h35p7dv6mg3pla6pw3b645hbbccjmp1jc3fyn6qiy6fq";
     };
-  }; in [ rt-patch ] ++ lib.remove rt-patch kernelPatches;
+  }; in [ rt-patch ] ++ kernelPatches;
 
   structuredExtraConfig = with lib.kernel; {
     PREEMPT_RT = yes;
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-xanmod.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-xanmod.nix
index b389532c01a4..fbb9bf93ed55 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-xanmod.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-xanmod.nix
@@ -1,8 +1,8 @@
 { lib, stdenv, buildLinux, fetchFromGitHub, ... } @ args:
 
 let
-  version = "5.12.13";
-  suffix = "xanmod1-cacule";
+  version = "5.13.0";
+  suffix = "xanmod2-cacule";
 in
 buildLinux (args // rec {
   inherit version;
@@ -12,11 +12,10 @@ buildLinux (args // rec {
     owner = "xanmod";
     repo = "linux";
     rev = modDirVersion;
-    sha256 = "sha256-eFIWlguU1hnkAgTbRxSMTStq0X7XW4IT1/9XlQSgdMQ=";
+    sha256 = "sha256-q+m1Ys/Gfr56cihoX8LS/w7icNcM3oefcXRtvzgx3cM=";
   };
 
   structuredExtraConfig = with lib.kernel; {
-
     # Preemptive Full Tickless Kernel at 500Hz
     PREEMPT_VOLUNTARY = lib.mkForce no;
     PREEMPT = lib.mkForce yes;
@@ -47,7 +46,7 @@ buildLinux (args // rec {
   };
 
   extraMeta = {
-    branch = "5.12-cacule";
+    branch = "5.13-cacule";
     maintainers = with lib.maintainers; [ fortuneteller2k ];
     description = "Built with custom settings and new features built to provide a stable, responsive and smooth desktop experience";
     broken = stdenv.isAarch64;
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-zen.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-zen.nix
index 47e72a61c182..f646e380ac3e 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-zen.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-zen.nix
@@ -1,7 +1,7 @@
 { lib, fetchFromGitHub, buildLinux, ... } @ args:
 
 let
-  version = "5.12.9";
+  version = "5.12.14";
   suffix = "zen1";
 in
 
@@ -14,7 +14,7 @@ buildLinux (args // {
     owner = "zen-kernel";
     repo = "zen-kernel";
     rev = "v${version}-${suffix}";
-    sha256 = "sha256-Sbe7pY/htLRRx5Qs78BpEzNCSIEsnZMj1+bkAftZdbQ=";
+    sha256 = "sha256-xmU2HNigSMb+xGkQ9XShBKfRxVHPHsz88JoTI2KsShQ=";
   };
 
   extraMeta = {
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/patches.nix b/nixpkgs/pkgs/os-specific/linux/kernel/patches.nix
index 48dd9b38d9b1..f41cedca0f69 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/patches.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/patches.nix
@@ -102,13 +102,4 @@
     name = "mac_nvme_t2";
     patch = ./mac-nvme-t2.patch;
   };
-
-  rtnetlink_fix_regression_in_bridge_vlan_configuration = rec {
-    name = "rtnetlink_fix_regression_in_bridge_vlan_configuration";
-    patch = fetchpatch {
-      name = name + ".patch";
-      url = "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/patch/?id=d2e381c4963663bca6f30c3b996fa4dbafe8fcb5";
-      sha256 = "0ragdi13yh5ypp9x49vrdjqx8ddh7sq7i1qjp8fyrbk3n0jdaac3";
-    };
-  };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/perf.nix b/nixpkgs/pkgs/os-specific/linux/kernel/perf.nix
index ae27839c8cd3..b58bca352e63 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/perf.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/perf.nix
@@ -1,12 +1,14 @@
 { lib, stdenv, kernel, elfutils, python2, python3, perl, newt, slang, asciidoc, xmlto, makeWrapper
 , docbook_xsl, docbook_xml_dtd_45, libxslt, flex, bison, pkg-config, libunwind, binutils
 , libiberty, audit, libbfd, libopcodes, openssl, systemtap, numactl
-, zlib, withGtk ? false, gtk2 ? null
+, zlib
+, withGtk ? false, gtk2
+, withZstd ? true, zstd
+, withLibcap ? true, libcap
 }:
 
 with lib;
 
-assert withGtk -> gtk2 != null;
 assert versionAtLeast kernel.version "3.12";
 
 stdenv.mkDerivation {
@@ -42,7 +44,9 @@ stdenv.mkDerivation {
     elfutils newt slang libunwind libbfd zlib openssl systemtap.stapBuild numactl
     libopcodes python3 perl
   ] ++ lib.optional withGtk gtk2
-    ++ (if (versionAtLeast kernel.version "4.19") then [ python3 ] else [ python2 ]);
+    ++ (if (versionAtLeast kernel.version "4.19") then [ python3 ] else [ python2 ])
+    ++ lib.optional withZstd zstd
+    ++ lib.optional withLibcap libcap;
 
   # Note: we don't add elfutils to buildInputs, since it provides a
   # bad `ld' and other stuff.
@@ -55,7 +59,7 @@ stdenv.mkDerivation {
   ];
 
   postPatch = ''
-    patchShebangs scripts/bpf_helpers_doc.py
+    patchShebangs scripts
   '';
 
   doCheck = false; # requires "sparse"
diff --git a/nixpkgs/pkgs/os-specific/linux/kvmfr/default.nix b/nixpkgs/pkgs/os-specific/linux/kvmfr/default.nix
new file mode 100644
index 000000000000..a7949c85c2ee
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/kvmfr/default.nix
@@ -0,0 +1,32 @@
+{ lib, stdenv, fetchFromGitHub, kernel, kmod, looking-glass-client }:
+
+stdenv.mkDerivation rec {
+  pname = "kvmfr";
+  version = looking-glass-client.version;
+
+  src = looking-glass-client.src;
+  sourceRoot = "source/module";
+  hardeningDisable = [ "pic" "format" ];
+  nativeBuildInputs = kernel.moduleBuildDependencies;
+
+  makeFlags = [
+    "KVER=${kernel.modDirVersion}"
+    "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+  ];
+
+  installPhase = ''
+    install -D kvmfr.ko -t "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/misc/"
+  '';
+
+  meta = with lib; {
+    description = "Optional kernel module for LookingGlass";
+    longDescription = ''
+      This kernel module implements a basic interface to the IVSHMEM device for LookingGlass when using LookingGlass in VM->VM mode
+      Additionally, in VM->host mode, it can be used to generate a shared memory device on the host machine that supports dmabuf
+    '';
+    homepage = "https://github.com/gnif/LookingGlass";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ j-brn ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/os-specific/linux/rtw89/default.nix b/nixpkgs/pkgs/os-specific/linux/rtw89/default.nix
new file mode 100644
index 000000000000..86ca72c537cf
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/rtw89/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, lib, fetchFromGitHub, kernel }:
+
+let
+  modDestDir = "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/net/wireless/realtek/rtw89";
+in
+stdenv.mkDerivation {
+  pname = "rtw89";
+  version = "unstable-2021-07-03";
+
+  src = fetchFromGitHub {
+    owner = "lwfinger";
+    repo = "rtw89";
+    rev = "cebafc6dc839e66c725b92c0fabf131bc908f607";
+    sha256 = "1vw67a423gajpzd5d51bxnja1qpppx9x5ii2vcfkj6cbnqwr83af";
+  };
+
+  makeFlags = [ "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ];
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p ${modDestDir}
+    find . -name '*.ko' -exec cp --parents {} ${modDestDir} \;
+    find ${modDestDir} -name '*.ko' -exec xz -f {} \;
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = " Driver for Realtek 8852AE, an 802.11ax device";
+    homepage = "https://github.com/lwfinger/rtw89";
+    license = with licenses; [ gpl2Only ];
+    maintainers = with maintainers; [ tvorog ];
+    platforms = platforms.linux;
+    broken = kernel.kernelOlder "5.4";
+    priority = -1;
+  };
+}
diff --git a/nixpkgs/pkgs/os-specific/linux/tuigreet/default.nix b/nixpkgs/pkgs/os-specific/linux/tuigreet/default.nix
index daa5a4faa9c2..89dfe85c082d 100644
--- a/nixpkgs/pkgs/os-specific/linux/tuigreet/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/tuigreet/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tuigreet";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "apognu";
     repo = pname;
     rev = version;
-    sha256 = "1v16gl6ajqdbl265nh8akr2far5qhiqv7787hvqlzpr3rd39vnij";
+    sha256 = "sha256-Ip/GhpHgTgWFyCdujcCni1CLFDDirUbJuzCj8QiUsFc=";
   };
 
-  cargoSha256 = "072zvvgf9m1afjz15m8pwslh2mav37ahjqgg33pdvzdnvg5j1q2h";
+  cargoSha256 = "sha256-G/E/2wjeSY57bQJgrZYUA1sWUwtk5mRavmLwy1EgHRM=";
 
   meta = with lib; {
     description = "Graphical console greter for greetd";
diff --git a/nixpkgs/pkgs/os-specific/linux/tuxedo-keyboard/default.nix b/nixpkgs/pkgs/os-specific/linux/tuxedo-keyboard/default.nix
index 79271448b75b..17f8b3a28c4e 100644
--- a/nixpkgs/pkgs/os-specific/linux/tuxedo-keyboard/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/tuxedo-keyboard/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchFromGitHub, kernel, linuxHeaders}:
+{ lib, stdenv, fetchFromGitHub, kernel, linuxHeaders }:
 
 stdenv.mkDerivation rec {
   pname = "tuxedo-keyboard-${kernel.version}";
-  version = "3.0.5";
+  version = "3.0.7";
 
   src = fetchFromGitHub {
     owner = "tuxedocomputers";
     repo = "tuxedo-keyboard";
     rev = "v${version}";
-    sha256 = "123ady2bi2dwbajy3pgv10l3g2pyhi5k31c1ii0zcrvl2qqhndck";
+    sha256 = "sha256-JloLwfJfDdVowx1hOehjxPbnaKBCAMn7SZe09SE03HU=";
   };
 
   buildInputs = [ linuxHeaders ];
diff --git a/nixpkgs/pkgs/os-specific/linux/zfs/default.nix b/nixpkgs/pkgs/os-specific/linux/zfs/default.nix
index 7d715cc3c092..7784aa8e03fe 100644
--- a/nixpkgs/pkgs/os-specific/linux/zfs/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/zfs/default.nix
@@ -195,12 +195,12 @@ in {
   # to be adapted
   zfsStable = common {
     # check the release notes for compatible kernels
-    kernelCompatible = kernel.kernelAtLeast "3.10" && kernel.kernelOlder "5.13";
+    kernelCompatible = kernel.kernelAtLeast "3.10" && kernel.kernelOlder "5.14";
 
     # this package should point to the latest release.
-    version = "2.0.5";
+    version = "2.1.0";
 
-    sha256 = "0n0d8ab7ibxxa8znfsprh7jxwgighx5g291v7hi8272vfjrmk1mj";
+    sha256 = "sha256-YdY4SStXZGBBdAHdM3R/unco7ztxI3s0/buPSNSeh5o=";
   };
 
   zfsUnstable = common {
@@ -208,9 +208,9 @@ in {
     kernelCompatible = kernel.kernelAtLeast "3.10" && kernel.kernelOlder "5.14";
 
     # this package should point to a version / git revision compatible with the latest kernel release
-    version = "2.1.0-rc8";
+    version = "2.1.0";
 
-    sha256 = "0c53ca6xd59c30h3b2hmvyy63yqyk745x1kdfypnfqj3lnsj1pac";
+    sha256 = "sha256-YdY4SStXZGBBdAHdM3R/unco7ztxI3s0/buPSNSeh5o=";
 
     isUnstable = true;
   };
diff --git a/nixpkgs/pkgs/servers/atlassian/confluence.nix b/nixpkgs/pkgs/servers/atlassian/confluence.nix
index 61b664d5705a..2928688e5ddd 100644
--- a/nixpkgs/pkgs/servers/atlassian/confluence.nix
+++ b/nixpkgs/pkgs/servers/atlassian/confluence.nix
@@ -8,11 +8,11 @@ assert withMysql -> (mysql_jdbc != null);
 
 stdenvNoCC.mkDerivation rec {
   pname = "atlassian-confluence";
-  version = "7.11.0";
+  version = "7.12.2";
 
   src = fetchurl {
     url = "https://product-downloads.atlassian.com/software/confluence/downloads/${pname}-${version}.tar.gz";
-    sha256 = "sha256-/D/fMg+WRkGGV4NG73gvVDZwwi/8BB0w6IWK/OQ3caA=";
+    sha256 = "sha256-SZFyHU6Uy/opwfW0B+hnp+3wQkf+6w2/P25JH+BfLGY=";
   };
 
   buildPhase = ''
diff --git a/nixpkgs/pkgs/servers/computing/slurm/default.nix b/nixpkgs/pkgs/servers/computing/slurm/default.nix
index 843b7c340086..49beef53fe67 100644
--- a/nixpkgs/pkgs/servers/computing/slurm/default.nix
+++ b/nixpkgs/pkgs/servers/computing/slurm/default.nix
@@ -9,7 +9,7 @@
 
 stdenv.mkDerivation rec {
   pname = "slurm";
-  version = "20.11.7.1";
+  version = "20.11.8.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 = "0ril6k4dj96qhx5x7r4nc2ghp7n9700808731v4qn9yvcslqzg9a";
+    sha256 = "0id2b01rvq81zd2p34il0gg880f94g9ip4gn1pyh20zz5bxlnbjc";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/servers/coturn/default.nix b/nixpkgs/pkgs/servers/coturn/default.nix
index 73b1ba01844a..d076f763bf96 100644
--- a/nixpkgs/pkgs/servers/coturn/default.nix
+++ b/nixpkgs/pkgs/servers/coturn/default.nix
@@ -8,6 +8,7 @@
 , libprom
 , libpromhttp
 , libmicrohttpd
+, nixosTests
 }:
 
 stdenv.mkDerivation rec {
@@ -34,6 +35,8 @@ stdenv.mkDerivation rec {
     ./pure-configure.patch
   ];
 
+  passthru.tests.coturn = nixosTests.coturn;
+
   meta = with lib; {
     homepage = "https://coturn.net/";
     license = with licenses; [ bsd3 ];
diff --git a/nixpkgs/pkgs/servers/dns/pdns-recursor/default.nix b/nixpkgs/pkgs/servers/dns/pdns-recursor/default.nix
index 70e7e758bb94..da57282ae08f 100644
--- a/nixpkgs/pkgs/servers/dns/pdns-recursor/default.nix
+++ b/nixpkgs/pkgs/servers/dns/pdns-recursor/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pdns-recursor";
-  version = "4.5.2";
+  version = "4.5.4";
 
   src = fetchurl {
     url = "https://downloads.powerdns.com/releases/pdns-recursor-${version}.tar.bz2";
-    sha256 = "1101izvyknxqhzz987j3acsa221ymgrnmyciaz8v7jziai9ksa5i";
+    sha256 = "0sl98ykk2bh0v2aw2hyak7wk9k3pbhvmfkb3i4a72jlsixm60p81";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/servers/home-assistant/component-packages.nix b/nixpkgs/pkgs/servers/home-assistant/component-packages.nix
index f4f599117153..dbe9c938c678 100644
--- a/nixpkgs/pkgs/servers/home-assistant/component-packages.nix
+++ b/nixpkgs/pkgs/servers/home-assistant/component-packages.nix
@@ -228,7 +228,7 @@
     "enocean" = ps: with ps; [ enocean ];
     "enphase_envoy" = ps: with ps; [ envoy-reader ];
     "entur_public_transport" = ps: with ps; [ enturclient ];
-    "environment_canada" = ps: with ps; [ ]; # missing inputs: env_canada
+    "environment_canada" = ps: with ps; [ env-canada ];
     "envirophat" = ps: with ps; [ smbus-cffi ]; # missing inputs: envirophat
     "envisalink" = ps: with ps; [ pyenvisalink ];
     "ephember" = ps: with ps; [ ]; # missing inputs: pyephember
@@ -347,7 +347,7 @@
     "heos" = ps: with ps; [ pyheos ];
     "here_travel_time" = ps: with ps; [ herepy ];
     "hikvision" = ps: with ps; [ ]; # missing inputs: pyhik
-    "hikvisioncam" = ps: with ps; [ ]; # missing inputs: hikvision
+    "hikvisioncam" = ps: with ps; [ hikvision ];
     "hisense_aehw4a1" = ps: with ps; [ pyaehw4a1 ];
     "history" = ps: with ps; [ aiohttp-cors sqlalchemy ];
     "history_stats" = ps: with ps; [ sqlalchemy ];
@@ -646,7 +646,7 @@
     "plugwise" = ps: with ps; [ plugwise ];
     "plum_lightpad" = ps: with ps; [ ]; # missing inputs: plumlightpad
     "pocketcasts" = ps: with ps; [ ]; # missing inputs: pycketcasts
-    "point" = ps: with ps; [ aiohttp-cors ]; # missing inputs: pypoint
+    "point" = ps: with ps; [ aiohttp-cors pypoint ];
     "poolsense" = ps: with ps; [ poolsense ];
     "powerwall" = ps: with ps; [ ]; # missing inputs: tesla-powerwall
     "profiler" = ps: with ps; [ guppy3 objgraph pyprof2calltree ];
@@ -696,7 +696,7 @@
     "rest" = ps: with ps; [ jsonpath xmltodict ];
     "rest_command" = ps: with ps; [ ];
     "rflink" = ps: with ps; [ rflink ];
-    "rfxtrx" = ps: with ps; [ ]; # missing inputs: pyRFXtrx
+    "rfxtrx" = ps: with ps; [ pyrfxtrx ];
     "ring" = ps: with ps; [ ha-ffmpeg ring-doorbell ];
     "ripple" = ps: with ps; [ ]; # missing inputs: python-ripple-api
     "risco" = ps: with ps; [ pyrisco ];
@@ -767,8 +767,8 @@
     "slide" = ps: with ps; [ ]; # missing inputs: goslide-api
     "sma" = ps: with ps; [ pysma ];
     "smappee" = ps: with ps; [ aiohttp-cors pysmappee ];
-    "smart_meter_texas" = ps: with ps; [ ]; # missing inputs: smart-meter-texas
-    "smarthab" = ps: with ps; [ ]; # missing inputs: smarthab
+    "smart_meter_texas" = ps: with ps; [ smart-meter-texas ];
+    "smarthab" = ps: with ps; [ smarthab ];
     "smartthings" = ps: with ps; [ aiohttp-cors hass-nabucasa pysmartapp pysmartthings ];
     "smarttub" = ps: with ps; [ python-smarttub ];
     "smarty" = ps: with ps; [ ]; # missing inputs: pysmarty
@@ -785,9 +785,9 @@
     "solax" = ps: with ps; [ solax ];
     "soma" = ps: with ps; [ pysoma ];
     "somfy" = ps: with ps; [ aiohttp-cors pymfy ];
-    "somfy_mylink" = ps: with ps; [ ]; # missing inputs: somfy-mylink-synergy
-    "sonarr" = ps: with ps; [ ]; # missing inputs: sonarr
-    "songpal" = ps: with ps; [ ]; # missing inputs: python-songpal
+    "somfy_mylink" = ps: with ps; [ somfy-mylink-synergy ];
+    "sonarr" = ps: with ps; [ sonarr ];
+    "songpal" = ps: with ps; [ python-songpal ];
     "sonos" = ps: with ps; [ aiohttp-cors plexapi plexauth plexwebsocket pysonos ];
     "sony_projector" = ps: with ps; [ ]; # missing inputs: pysdcp
     "soundtouch" = ps: with ps; [ aiohttp-cors ifaddr libsoundtouch zeroconf ];
diff --git a/nixpkgs/pkgs/servers/home-assistant/default.nix b/nixpkgs/pkgs/servers/home-assistant/default.nix
index c86258d4a85a..c9a4a15a87c0 100644
--- a/nixpkgs/pkgs/servers/home-assistant/default.nix
+++ b/nixpkgs/pkgs/servers/home-assistant/default.nix
@@ -606,6 +606,7 @@ in with py.pkgs; buildPythonApplication rec {
     "plant"
     "plex"
     "plugwise"
+    "point"
     "poolsense"
     "profiler"
     "prometheus"
@@ -614,6 +615,7 @@ in with py.pkgs; buildPythonApplication rec {
     "pushbullet"
     "pvpc_hourly_pricing"
     "python_script"
+    "qld_bushfire"
     "rachio"
     "radarr"
     "rainmachine"
@@ -625,6 +627,7 @@ in with py.pkgs; buildPythonApplication rec {
     "rest"
     "rest_command"
     "rflink"
+    "rfxtrx"
     "ring"
     "risco"
     "rituals_perfume_genie"
@@ -657,6 +660,8 @@ in with py.pkgs; buildPythonApplication rec {
     "sleepiq"
     "sma"
     "smappee"
+    "smart_meter_texas"
+    "smarthab"
     "smartthings"
     "smarttub"
     "smhi"
@@ -665,6 +670,9 @@ in with py.pkgs; buildPythonApplication rec {
     "solaredge"
     "soma"
     "somfy"
+    "somfy_mylink"
+    "sonarr"
+    "songpal"
     "sonos"
     "soundtouch"
     "spaceapi"
diff --git a/nixpkgs/pkgs/servers/http/gitlab-pages/default.nix b/nixpkgs/pkgs/servers/http/gitlab-pages/default.nix
index a26dd47e0243..c62ad8b75c9c 100644
--- a/nixpkgs/pkgs/servers/http/gitlab-pages/default.nix
+++ b/nixpkgs/pkgs/servers/http/gitlab-pages/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gitlab-pages";
-  version = "1.39.0";
+  version = "1.40.0";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-pages";
     rev = "v${version}";
-    sha256 = "sha256-eyg2o/5k7/zagYjkYJOnJrHeoszbRkmdl7UgO+rmKyc=";
+    sha256 = "sha256-RgWDAvuxqZeFCU+Q2s+FDIM/AroIdnfVq/D5lG4XN7U=";
   };
 
-  vendorSha256 = "sha256-aedJ7vsv70aybjqBfUnSr4qhlFdY7jUUOSas3vXskpM=";
+  vendorSha256 = "sha256-HbMM0IHw1DMDlNN1m2EHaG9CXnj9j9xROPQiT2xTGlM=";
   subPackages = [ "." ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/servers/http/pomerium/default.nix b/nixpkgs/pkgs/servers/http/pomerium/default.nix
index 036e44ca621e..ea9628417d7d 100644
--- a/nixpkgs/pkgs/servers/http/pomerium/default.nix
+++ b/nixpkgs/pkgs/servers/http/pomerium/default.nix
@@ -11,15 +11,15 @@ let
 in
 buildGoModule rec {
   pname = "pomerium";
-  version = "0.14.4";
+  version = "0.14.7";
   src = fetchFromGitHub {
     owner = "pomerium";
     repo = "pomerium";
     rev = "v${version}";
-    hash = "sha256:097csr8f43cn0iq030ajvvpwnwcfmjxyyk6pcisdy937axlrzska";
+    hash = "sha256:1jb96jk5qmary4fi1z9zwmppdyskj0qb6qii8s8mwazjjxqj1z2s";
   };
 
-  vendorSha256 = "sha256:0n45xvwjiqyh41dsm4z1rnkgkycf5wfmacm804hqnd5rz7xk2shf";
+  vendorSha256 = "sha256:1daabi9qc9nx8bafn26iw6rv4vx2xpd0nnk06265aqaksx26db0s";
   subPackages = [
     "cmd/pomerium"
     "cmd/pomerium-cli"
diff --git a/nixpkgs/pkgs/servers/http/trafficserver/default.nix b/nixpkgs/pkgs/servers/http/trafficserver/default.nix
index 4a7f9854d183..e7ce72e086e1 100644
--- a/nixpkgs/pkgs/servers/http/trafficserver/default.nix
+++ b/nixpkgs/pkgs/servers/http/trafficserver/default.nix
@@ -49,11 +49,11 @@
 
 stdenv.mkDerivation rec {
   pname = "trafficserver";
-  version = "9.0.1";
+  version = "9.0.2";
 
   src = fetchurl {
     url = "mirror://apache/trafficserver/trafficserver-${version}.tar.bz2";
-    sha256 = "1q164pvfmbqh3gzy3bqy96lwd0fdbhz78r06pd92p7rmkqwx005z";
+    sha256 = "0r05iqmnnjq259nsibncgfrfsr0l4h3hsafizvgfl9zgmrkm6izz";
   };
 
   patches = [
@@ -63,13 +63,6 @@ stdenv.mkDerivation rec {
       url = "https://github.com/apache/trafficserver/commit/19d3af481cf74c91fbf713fc9d2f8b138ed5fbaf.diff";
       sha256 = "0z1ikgpp00rzrrcqh97931586yn9wbksgai9xlkcjd5cg8gq0150";
     })
-
-    # Fixes a bug in tspush which pushes incorrect contents to cache
-    # https://github.com/apache/trafficserver/pull/7696
-    (fetchpatch {
-      url = "https://github.com/apache/trafficserver/commit/b08215272872f452787915cd3a8e0b0ea0b88385.diff";
-      sha256 = "0axk8x1xvd8wvpgcxgyqqg7kgxyxwfgwmisq3xnk1da0cqv9cx9f";
-    })
   ];
 
   # NOTE: The upstream README indicates that flex is needed for some features,
diff --git a/nixpkgs/pkgs/servers/imgproxy/default.nix b/nixpkgs/pkgs/servers/imgproxy/default.nix
index b0d013602417..3c93b7f82604 100644
--- a/nixpkgs/pkgs/servers/imgproxy/default.nix
+++ b/nixpkgs/pkgs/servers/imgproxy/default.nix
@@ -3,16 +3,16 @@
 
 buildGoModule rec {
   pname = "imgproxy";
-  version = "2.16.4";
+  version = "2.16.5";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    sha256 = "sha256-25oOGkTc19PHlU0Va7IPKrvGK9pDrGqKZa6qNFMVphQ=";
+    sha256 = "sha256-CLmnc33mVvm7CR0Qv4zsLiQ/jyRIkr1N53mMfD3flNM=";
     rev = "v${version}";
   };
 
-  vendorSha256 = "sha256-y8cXe4+jTLnM7K+na2VHGXkPgZjFYdgtDd14D8KiCas=";
+  vendorSha256 = "sha256-aV+A2duS13Zi9IPa7bd/tBe5NzmUhKYsXzvluuIFc+I=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/servers/ldap/389/default.nix b/nixpkgs/pkgs/servers/ldap/389/default.nix
index e445184b9561..34bb901f6713 100644
--- a/nixpkgs/pkgs/servers/ldap/389/default.nix
+++ b/nixpkgs/pkgs/servers/ldap/389/default.nix
@@ -43,13 +43,13 @@
 
 stdenv.mkDerivation rec {
   pname = "389-ds-base";
-  version = "2.0.5";
+  version = "2.0.6";
 
   src = fetchFromGitHub {
     owner = "389ds";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "sha256-H0G8py4sB+2CSZKyCIb2TCIXOpnPx7udWUEK4Tg5TD8=";
+    sha256 = "sha256-MYLRrH3PrNdPVuRffiG39zzJK6eHJcvIDWn1q0IHrZ8=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config doxygen ];
@@ -85,7 +85,7 @@ stdenv.mkDerivation rec {
       six
       pyasn1
       pyasn1-modules
-      dateutil
+      python-dateutil
       argcomplete
       libselinux
     ]))
diff --git a/nixpkgs/pkgs/servers/mail/mailman/hyperkitty.nix b/nixpkgs/pkgs/servers/mail/mailman/hyperkitty.nix
index 99eae786cbf6..33d31fb8e722 100644
--- a/nixpkgs/pkgs/servers/mail/mailman/hyperkitty.nix
+++ b/nixpkgs/pkgs/servers/mail/mailman/hyperkitty.nix
@@ -1,6 +1,6 @@
 { lib, buildPythonPackage, fetchPypi, isPy3k, isort, coverage, mock
 , robot-detection, django_extensions, rjsmin, cssmin, django-mailman3
-, django-haystack, flufl_lock, networkx, dateutil, defusedxml
+, django-haystack, flufl_lock, networkx, python-dateutil, defusedxml
 , django-paintstore, djangorestframework, django, django-q
 , django_compressor, beautifulsoup4, six, psycopg2, whoosh, elasticsearch
 }:
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   nativeBuildInputs = [ isort ];
   propagatedBuildInputs = [
     robot-detection django_extensions rjsmin cssmin django-mailman3
-    django-haystack flufl_lock networkx dateutil defusedxml
+    django-haystack flufl_lock networkx python-dateutil defusedxml
     django-paintstore djangorestframework django django-q
     django_compressor six psycopg2 isort
   ];
diff --git a/nixpkgs/pkgs/servers/matrix-synapse/default.nix b/nixpkgs/pkgs/servers/matrix-synapse/default.nix
index 1d8c2737b012..7940b560b5a7 100644
--- a/nixpkgs/pkgs/servers/matrix-synapse/default.nix
+++ b/nixpkgs/pkgs/servers/matrix-synapse/default.nix
@@ -12,11 +12,11 @@ let
 in
 buildPythonApplication rec {
   pname = "matrix-synapse";
-  version = "1.36.0";
+  version = "1.37.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-OMbSd64mD2+6GVUxGL4lvQlKAiBuen0PjvyVdk/ePbI=";
+    sha256 = "sha256-KxDHJrKm/QUZtOzI6MEpIUb4hTtxtIPLFuD1as3j4EA=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/servers/misc/gobgpd/default.nix b/nixpkgs/pkgs/servers/misc/gobgpd/default.nix
index 450e454374f0..570b2b40c159 100644
--- a/nixpkgs/pkgs/servers/misc/gobgpd/default.nix
+++ b/nixpkgs/pkgs/servers/misc/gobgpd/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "gobgpd";
-  version = "2.28.0";
+  version = "2.29.0";
 
   src = fetchFromGitHub {
     owner = "osrg";
     repo = "gobgp";
     rev = "v${version}";
-    sha256 = "sha256-AlAfs1wi3hS7cqAtGqfUgv5CIonu7TmXWgxL1zSBh54=";
+    sha256 = "sha256-DhSIf8fAG2Zf0mwJ/iMgQU5sugHK2jJ6WJPbFbA/mhM=";
   };
 
   vendorSha256 = "sha256-PWm7XnO6LPaU8g8ymmqRkQv2KSX9kLv9RVaa000mrTY=";
diff --git a/nixpkgs/pkgs/servers/monitoring/grafana/default.nix b/nixpkgs/pkgs/servers/monitoring/grafana/default.nix
index 99acc52b9de2..14d0c63d90bf 100644
--- a/nixpkgs/pkgs/servers/monitoring/grafana/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/grafana/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "grafana";
-  version = "8.0.3";
+  version = "8.0.4";
 
   excludedPackages = [ "release_publisher" ];
 
@@ -10,12 +10,12 @@ buildGoModule rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "sha256-GGtmsz3c7Q6mEGCJ6cdz2CjOW0ovZZW8j6LMfFgrMZ4=";
+    sha256 = "sha256-I4TUPni2WDdpsV19nltsaF1PugB5SOtQ9Jb0YzWUwFg=";
   };
 
   srcStatic = fetchurl {
     url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
-    sha256 = "sha256-2x0FhKinrXAFenJcUDh4Q3RJNBrqixKBNZT7BZNNOj8=";
+    sha256 = "sha256-GUVnw2kKxVfztvfsNMwRLxPTqRYzbxXzoH2GkmZB2JE=";
   };
 
   vendorSha256 = "sha256-x7sSVIim/TOhMTbnRK/fpgxiSRSO8KwGILTE2i1gU3U=";
diff --git a/nixpkgs/pkgs/servers/monitoring/grafana/plugins/doitintl-bigquery-datasource/default.nix b/nixpkgs/pkgs/servers/monitoring/grafana/plugins/doitintl-bigquery-datasource/default.nix
index f87526242b86..c5189720660a 100644
--- a/nixpkgs/pkgs/servers/monitoring/grafana/plugins/doitintl-bigquery-datasource/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/grafana/plugins/doitintl-bigquery-datasource/default.nix
@@ -2,8 +2,8 @@
 
 grafanaPlugin rec {
   pname = "doitintl-bigquery-datasource";
-  version = "2.0.1";
-  zipHash = "sha256-tZyvER/rxL+mo2tgxFvwSIAmjFm/AnZ0RgvmD1YAE2U=";
+  version = "2.0.2";
+  zipHash = "sha256-GE6DNuQ5WtS/2VmXbQBeRdVKDbLlLirWXW51i0RF6Cc=";
   meta = with lib; {
     description = "BigQuery DataSource for Grafana";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/servers/monitoring/grafana/plugins/grafana-polystat-panel/default.nix b/nixpkgs/pkgs/servers/monitoring/grafana/plugins/grafana-polystat-panel/default.nix
index 07694688c4a8..85b4c7069a9a 100644
--- a/nixpkgs/pkgs/servers/monitoring/grafana/plugins/grafana-polystat-panel/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/grafana/plugins/grafana-polystat-panel/default.nix
@@ -2,8 +2,8 @@
 
 grafanaPlugin rec {
   pname = "grafana-polystat-panel";
-  version = "1.2.3";
-  zipHash = "sha256-Eu3dTPfJxAWwqqGT6l4El4MqviBbzERarU30OXU+eEM=";
+  version = "1.2.5";
+  zipHash = "sha256-U9vNfK4ofNzwL7MVe43tGY85gI56Jt1eb7TrCkeNrOQ=";
   meta = with lib; {
     description = "Hexagonal multi-stat panel for Grafana";
     license = licenses.asl20;
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/bird-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/bird-exporter.nix
index 67ec88332b5f..f15f7b6e0057 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/bird-exporter.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/bird-exporter.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "bird-exporter";
-  version = "1.2.5";
+  version = "1.2.6";
 
   src = fetchFromGitHub {
     owner = "czerwonk";
     repo = "bird_exporter";
     rev = version;
-    sha256 = "06rlmmvr79db3lh54938yxi0ixcfb8fni0vgcv3nafqnlr2zbs58";
+    sha256 = "sha256-zQKdO1E5VKZaQLNOfL3e/iCdugwNx3xFy7R7vun/Efs=";
   };
 
-  vendorSha256 = "14bjdfqvxvb9gs1nm0nnlib52vd0dbvjll22x7d2cc721cbd0hj0";
+  vendorSha256 = "sha256-o/OVWALLOw7eNH3xsQlQ5ZNFV3l9iD8lhyckBt6Qn3E=";
 
   passthru.tests = { inherit (nixosTests.prometheus-exporters) bird; };
 
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix
index ff32764fcde6..9a856eedf682 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix
@@ -1,19 +1,22 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "mysqld_exporter";
-  version = "0.12.1";
+  version = "0.13.0";
   rev = "v${version}";
 
-  goPackagePath = "github.com/prometheus/mysqld_exporter";
-
   src = fetchFromGitHub {
     inherit rev;
     owner = "prometheus";
     repo = "mysqld_exporter";
-    sha256 = "0nzbfzx4dzs3cagdid1fqddrqimgr8x6r8gmmxglrss05c8srgs8";
+    sha256 = "05gb6p65a0ys356qnanwc40klz1izrib37rz5yzyg2ysvamlvmys";
   };
 
+  vendorSha256 = "19785rfzlx8h0h8vmg0ghd40h3p4y6ikhgf8rd2qfj5f6qxfhrgv";
+
+  # skips tests with external dependencies, e.g. on mysqld
+  checkFlags = [ "-short" ];
+
   meta = with lib; {
     description = "Prometheus exporter for MySQL server metrics";
     homepage = "https://github.com/prometheus/mysqld_exporter";
diff --git a/nixpkgs/pkgs/servers/oauth2-proxy/default.nix b/nixpkgs/pkgs/servers/oauth2-proxy/default.nix
index fe4335a74114..a5aee60d8bb1 100644
--- a/nixpkgs/pkgs/servers/oauth2-proxy/default.nix
+++ b/nixpkgs/pkgs/servers/oauth2-proxy/default.nix
@@ -20,6 +20,6 @@ buildGoModule rec {
     description = "A reverse proxy that provides authentication with Google, Github, or other providers";
     homepage = "https://github.com/oauth2-proxy/oauth2-proxy/";
     license = licenses.mit;
-    maintainers = with maintainers; teams.serokell.members ++ [ knl ];
+    maintainers = teams.serokell.members;
   };
 }
diff --git a/nixpkgs/pkgs/servers/pinnwand/default.nix b/nixpkgs/pkgs/servers/pinnwand/default.nix
index 3962ce97110e..f8e3dfbc01c9 100644
--- a/nixpkgs/pkgs/servers/pinnwand/default.nix
+++ b/nixpkgs/pkgs/servers/pinnwand/default.nix
@@ -21,7 +21,8 @@ with python3.pkgs; buildPythonApplication rec {
     substituteInPlace pyproject.toml \
       --replace 'click = "^7.0"' 'click = "*"' \
       --replace 'docutils = "^0.16"' 'docutils = "*"' \
-      --replace 'sqlalchemy = "^1.3"' 'sqlalchemy = "*"'
+      --replace 'sqlalchemy = "^1.3"' 'sqlalchemy = "*"' \
+      --replace 'token-bucket = "^0.2.0"' 'token-bucket = "*"'
   '';
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/servers/pufferpanel/default.nix b/nixpkgs/pkgs/servers/pufferpanel/default.nix
new file mode 100644
index 000000000000..67529b7d5bb8
--- /dev/null
+++ b/nixpkgs/pkgs/servers/pufferpanel/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, makeWrapper
+, pkgs
+, stdenv
+, fetchzip
+, openjdk16
+, nodejs
+, pathDeps ? [ ]
+}:
+
+buildGoModule rec {
+  pname = "pufferpanel";
+  version = "2.2.0";
+
+  src = fetchFromGitHub {
+    owner = "pufferpanel";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1ifig8ckjlg47wj0lfk4q941dan7llb1i5l76akcpjq726b2j8lh";
+  };
+
+  # PufferPanel is split into two parts: the backend daemon and the
+  # frontend.
+  # Getting the frontend to build in the Nix environment fails even
+  # with all the proper node_modules populated. To work around this,
+  # we just download the built frontend and package that.
+  frontend = fetchzip {
+    url = "https://github.com/PufferPanel/PufferPanel/releases/download/v${version}/pufferpanel_${version}_linux_arm64.zip";
+    sha256 = "0phbf4asr0dns7if84crx05kfgr44yaxrbsbihdywbhh2mb16052";
+    stripRoot = false;
+  } + "/www";
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  vendorSha256 = "061l1sy0z3kd7rc2blqh333gy66nbadfxy9hyxgq07dszds4byys";
+
+  postFixup = ''
+    mkdir -p $out/share/pufferpanel
+    cp -r ${src}/assets/email $out/share/pufferpanel/templates
+    cp -r ${frontend} $out/share/pufferpanel/www
+
+    # Wrap the binary with the path to the external files.
+    mv $out/bin/cmd $out/bin/pufferpanel
+    wrapProgram "$out/bin/pufferpanel" \
+      --set PUFFER_PANEL_EMAIL_TEMPLATES $out/share/pufferpanel/templates/emails.json \
+      --set GIN_MODE release \
+      --set PUFFER_PANEL_WEB_FILES $out/share/pufferpanel/www \
+      --prefix PATH : ${lib.makeBinPath pathDeps}
+  '';
+
+  meta = with lib; {
+    description = "A free, open source game management panel";
+    homepage = "https://www.pufferpanel.com/";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ ronthecookie ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/roon-server/default.nix b/nixpkgs/pkgs/servers/roon-server/default.nix
index a6592ee235c9..91371a085575 100644
--- a/nixpkgs/pkgs/servers/roon-server/default.nix
+++ b/nixpkgs/pkgs/servers/roon-server/default.nix
@@ -11,15 +11,15 @@
 , zlib
 }: stdenv.mkDerivation rec {
   pname = "roon-server";
-  version = "1.8-795";
+  version = "1.8-806";
 
   # N.B. The URL is unstable. I've asked for them to provide a stable URL but
   # they have ignored me. If this package fails to build for you, you may need
   # to update the version and sha256.
   # c.f. https://community.roonlabs.com/t/latest-roon-server-is-not-available-for-download-on-nixos/118129
   src = fetchurl {
-    url = "https://web.archive.org/web/20210610060249/http://download.roonlabs.com/builds/RoonServer_linuxx64.tar.bz2";
-    sha256 = "sha256-gC+UquDMyDpgCEYKPp2RRIkHD/4itJssl0hcSEQO5Rc=";
+    url = "https://web.archive.org/web/20210707070319/http://download.roonlabs.com/builds/RoonServer_linuxx64.tar.bz2";
+    sha256 = "sha256-TRgsHR71wNz2MoH+RZrIaWEzQSAbo+q8ICKfmmCFy5Y=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/servers/search/groonga/default.nix b/nixpkgs/pkgs/servers/search/groonga/default.nix
index 5973a1a190c6..8ef89031c182 100644
--- a/nixpkgs/pkgs/servers/search/groonga/default.nix
+++ b/nixpkgs/pkgs/servers/search/groonga/default.nix
@@ -7,11 +7,11 @@
 stdenv.mkDerivation rec {
 
   pname = "groonga";
-  version = "11.0.3";
+  version = "11.0.4";
 
   src = fetchurl {
     url    = "https://packages.groonga.org/source/groonga/${pname}-${version}.tar.gz";
-    sha256 = "sha256-oYlc6PSBLovNsEWDc6eGpDI85T6bTHgBvxA/PZP3aQU=";
+    sha256 = "sha256-a/IMroZ1zAgIv7Cx4kkj5byIMoC0o+seHhqVLaUUSqc=";
   };
 
   buildInputs = with lib;
diff --git a/nixpkgs/pkgs/servers/sip/freeswitch/default.nix b/nixpkgs/pkgs/servers/sip/freeswitch/default.nix
index d7611baad14e..98a1223d2799 100644
--- a/nixpkgs/pkgs/servers/sip/freeswitch/default.nix
+++ b/nixpkgs/pkgs/servers/sip/freeswitch/default.nix
@@ -1,4 +1,4 @@
-{ fetchFromGitHub, fetchpatch, stdenv, lib, pkg-config, autoreconfHook
+{ fetchFromGitHub, stdenv, lib, pkg-config, autoreconfHook
 , ncurses, gnutls, readline
 , openssl, perl, sqlite, libjpeg, speex, pcre, libuuid
 , ldns, libedit, yasm, which, libsndfile, libtiff
@@ -88,21 +88,14 @@ in
 
 stdenv.mkDerivation rec {
   pname = "freeswitch";
-  version = "1.10.5";
+  version = "1.10.6";
   src = fetchFromGitHub {
     owner = "signalwire";
     repo = pname;
     rev = "v${version}";
-    sha256 = "18dhyb19k28dcm1i8mhqvvgm2phsrmrwyjmfn79glk8pdlalvcha";
+    sha256 = "1i5n06pds3kvzhhzfwvhwxnvcb2p2fcr8k52157aplm2i7prl4q2";
   };
 
-  patches = [
-    # https://github.com/signalwire/freeswitch/pull/812 fix mod_spandsp, mod_gsmopen build, drop when updating from 1.10.5
-    (fetchpatch {
-      url = "https://github.com/signalwire/freeswitch/commit/51fba83ed3ed2d9753d8e6b13e13001aca50b493.patch";
-      sha256 = "0h2bmifsyyasxjka3pczbmqym1chvz91fmb589njrdbwpkjyvqh3";
-    })
-  ];
   postPatch = ''
     patchShebangs     libs/libvpx/build/make/rtcd.pl
     substituteInPlace libs/libvpx/build/make/configure.sh \
@@ -117,10 +110,11 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  nativeBuildInputs = [ pkg-config autoreconfHook ];
+  strictDeps = true;
+  nativeBuildInputs = [ pkg-config autoreconfHook perl which yasm ];
   buildInputs = [
-    openssl ncurses gnutls readline perl libjpeg
-    sqlite pcre speex ldns libedit yasm which
+    openssl ncurses gnutls readline libjpeg
+    sqlite pcre speex ldns libedit
     libsndfile libtiff
     libuuid
   ]
diff --git a/nixpkgs/pkgs/servers/sql/cockroachdb/default.nix b/nixpkgs/pkgs/servers/sql/cockroachdb/default.nix
index 63cbbf16b302..2026ad05f3ff 100644
--- a/nixpkgs/pkgs/servers/sql/cockroachdb/default.nix
+++ b/nixpkgs/pkgs/servers/sql/cockroachdb/default.nix
@@ -65,6 +65,6 @@ buildGoPackage rec {
     description = "A scalable, survivable, strongly-consistent SQL database";
     license     = licenses.bsl11;
     platforms   = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
-    maintainers = with maintainers; [ rushmorem thoughtpolice rvolosatovs ];
+    maintainers = with maintainers; [ rushmorem thoughtpolice ];
   };
 }
diff --git a/nixpkgs/pkgs/servers/sql/mariadb/default.nix b/nixpkgs/pkgs/servers/sql/mariadb/default.nix
index db588b3abe01..b7205f93026d 100644
--- a/nixpkgs/pkgs/servers/sql/mariadb/default.nix
+++ b/nixpkgs/pkgs/servers/sql/mariadb/default.nix
@@ -4,7 +4,7 @@
 , bzip2, lz4, lzo, snappy, xz, zlib, zstd
 , fixDarwinDylibNames, cctools, CoreServices, less
 , numactl # NUMA Support
-, withStorageMroonga ? true, kytea, msgpack, zeromq
+, withStorageMroonga ? true, kytea, libsodium, msgpack, zeromq
 , withStorageRocks ? true
 }:
 
@@ -155,12 +155,17 @@ server = stdenv.mkDerivation (common // {
     bzip2 lz4 lzo snappy xz zstd
     libxml2 judy libevent cracklib
   ] ++ optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) numactl
-    ++ optionals withStorageMroonga [ kytea msgpack zeromq ]
+    ++ optionals withStorageMroonga [ kytea libsodium msgpack zeromq ]
     ++ optional stdenv.hostPlatform.isLinux linux-pam
     ++ optional (!stdenv.hostPlatform.isDarwin) mytopEnv;
 
   patches = common.patches;
 
+  postPatch = ''
+    substituteInPlace scripts/galera_new_cluster.sh \
+      --replace ":-mariadb" ":-mysql"
+  '';
+
   cmakeFlags = common.cmakeFlags ++ [
     "-DMYSQL_DATADIR=/var/lib/mysql"
     "-DENABLED_LOCAL_INFILE=OFF"
@@ -202,7 +207,6 @@ server = stdenv.mkDerivation (common // {
     mv "$out"/OFF/suite/plugins/pam/pam_mariadb_mtr.so "$out"/share/pam/lib/security
     mv "$out"/OFF/suite/plugins/pam/mariadb_mtr "$out"/share/pam/etc/security
     rm -r "$out"/OFF
-    sed -i 's/-mariadb/-mysql/' "$out"/bin/galera_new_cluster
   '';
 
   # perlPackages.DBDmysql is broken on darwin
diff --git a/nixpkgs/pkgs/servers/sql/materialize/default.nix b/nixpkgs/pkgs/servers/sql/materialize/default.nix
index 5a2a3ad8ebfd..f2c6d59bd2ae 100644
--- a/nixpkgs/pkgs/servers/sql/materialize/default.nix
+++ b/nixpkgs/pkgs/servers/sql/materialize/default.nix
@@ -40,17 +40,17 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "materialize";
-  version = "0.8.0";
-  rev = "b2fe225f1afcfec4912976bdaa4a44caf3ca0842";
+  version = "0.8.1";
+  rev = "ef996c54db7c9504690b9f230a4a676ae1fb617f";
 
   src = fetchFromGitHub {
     owner = "MaterializeInc";
     repo = pname;
-    inherit rev;
-    hash = "sha256:09q1bfgsp6j8l8wv2abgibndwfkg2w3nm4dif4qgdkd52fdg0kc5";
+    rev = "v${version}";
+    sha256 = "1lrv0q191rhdqk316557qk2a6b00vrf07j1g63ri6mp8ad1g8gk3";
   };
 
-  cargoSha256 = "sha256:0y2r4980dyajf2ql9vb2jxcsn0a2q0gd3f8v932fgjqw13ysmi0s";
+  cargoSha256 = "0fx7m1ci4zak7sm71kdiaj2l29rlqax15hd424i9yn4aj1bd358b";
 
   nativeBuildInputs = [ cmake perl pkg-config ]
     # Provides the mig command used by the krb5-src build script
@@ -76,7 +76,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   MZ_DEV_BUILD_SHA = rev;
-  cargoBuildFlags = [ "--package materialized" ];
+  cargoBuildFlags = [ "--bin materialized" ];
 
   postInstall = ''
     install --mode=444 -D ./misc/dist/materialized.service $out/etc/systemd/system/materialized.service
diff --git a/nixpkgs/pkgs/servers/sql/postgresql/ext/postgis.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/postgis.nix
index 81f3f4fee254..4b69aca710ad 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/ext/postgis.nix
+++ b/nixpkgs/pkgs/servers/sql/postgresql/ext/postgis.nix
@@ -15,13 +15,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "postgis";
-  version = "3.1.2";
+  version = "3.1.3";
 
   outputs = [ "out" "doc" ];
 
   src = fetchurl {
     url = "https://download.osgeo.org/postgis/source/postgis-${version}.tar.gz";
-    sha256 = "0ch7gry8a1i9114mlhklxryn7ja3flsz6pxj9r5p09k92xh3gp9c";
+    sha256 = "1jwz6hdrym837b7dvn00qmwnbb40a7gr43va409h8fmp7dajksbi";
   };
 
   buildInputs = [ libxml2 postgresql geos proj gdal json_c protobufc ]
diff --git a/nixpkgs/pkgs/servers/tailscale/default.nix b/nixpkgs/pkgs/servers/tailscale/default.nix
index 56acbf3d22a9..ff2c8f9af375 100644
--- a/nixpkgs/pkgs/servers/tailscale/default.nix
+++ b/nixpkgs/pkgs/servers/tailscale/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "tailscale";
-  version = "1.10.0";
+  version = "1.10.1";
 
   src = fetchFromGitHub {
     owner = "tailscale";
     repo = "tailscale";
     rev = "v${version}";
-    sha256 = "0smc2xqbqc2p4jj1c98gzzxbr28sbx8z8625hbrng9m39vwylfxf";
+    sha256 = "1s4qpz4jwar3lcqyzkgyvgm4bghzass974lq1pw4fziqlsblh0vm";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/servers/teleport/default.nix b/nixpkgs/pkgs/servers/teleport/default.nix
index d898cc9bcca7..ad96798133b5 100644
--- a/nixpkgs/pkgs/servers/teleport/default.nix
+++ b/nixpkgs/pkgs/servers/teleport/default.nix
@@ -11,14 +11,14 @@ in
 
 buildGoModule rec {
   pname = "teleport";
-  version = "6.2.5";
+  version = "6.2.7";
 
   # This repo has a private submodule "e" which fetchgit cannot handle without failing.
   src = fetchFromGitHub {
     owner = "gravitational";
     repo = "teleport";
     rev = "v${version}";
-    sha256 = "sha256-OBo1TWN7KxI7DAUcRLwXXQjErhhgpLBrJBR55ewKiYw=";
+    sha256 = "0ychs2pqi3awbr0vraz0ksddwk5hihrd1d9raq8mxyw5dz5124ki";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/default.nix
index 5e7c4d5368a4..5a3301040d33 100644
--- a/nixpkgs/pkgs/servers/web-apps/discourse/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/default.nix
@@ -1,8 +1,11 @@
 { stdenv, makeWrapper, runCommandNoCC, lib, nixosTests, writeShellScript
-, fetchFromGitHub, bundlerEnv, ruby, replace, gzip, gnutar, git, cacert
-, util-linux, gawk, imagemagick, optipng, pngquant, libjpeg, jpegoptim
-, gifsicle, libpsl, redis, postgresql, which, brotli, procps, rsync
-, nodePackages, v8
+, fetchFromGitHub, bundlerEnv, callPackage
+
+, ruby, replace, gzip, gnutar, git, cacert, util-linux, gawk
+, imagemagick, optipng, pngquant, libjpeg, jpegoptim, gifsicle, libpsl
+, redis, postgresql, which, brotli, procps, rsync, nodePackages, v8
+
+, plugins ? []
 }:
 
 let
@@ -46,6 +49,35 @@ let
     UNICORN_LISTENER = "/run/discourse/sockets/unicorn.sock";
   };
 
+  mkDiscoursePlugin =
+    { name ? null
+    , pname ? null
+    , version ? null
+    , meta ? null
+    , bundlerEnvArgs ? {}
+    , src
+    , ...
+    }@args:
+    let
+      rubyEnv = bundlerEnv (bundlerEnvArgs // {
+        inherit name pname version ruby;
+      });
+    in
+      stdenv.mkDerivation (builtins.removeAttrs args [ "bundlerEnvArgs" ] // {
+        inherit name pname version src meta;
+        pluginName = if name != null then name else "${pname}-${version}";
+        phases = [ "unpackPhase" "installPhase" ];
+        installPhase = ''
+          runHook preInstall
+          mkdir -p $out
+          cp -r * $out/
+        '' + lib.optionalString (bundlerEnvArgs != {}) ''
+          ln -sf ${rubyEnv}/lib/ruby/gems $out/gems
+        '' + ''
+          runHook postInstall
+        '';
+      });
+
   rake = runCommandNoCC "discourse-rake" {
     nativeBuildInputs = [ makeWrapper ];
   } ''
@@ -121,6 +153,12 @@ let
       nodePackages.uglify-js
     ];
 
+    patches = [
+      # Use the Ruby API version in the plugin gem path, to match the
+      # one constructed by bundlerEnv
+      ./plugin_gem_api_version.patch
+    ];
+
     # We have to set up an environment that is close enough to
     # production ready or the assets:precompile task refuses to
     # run. This means that Redis and PostgreSQL has to be running and
@@ -148,6 +186,8 @@ let
       mkdir $NIX_BUILD_TOP/tmp_home
       export HOME=$NIX_BUILD_TOP/tmp_home
 
+      ${lib.concatMapStringsSep "\n" (p: "ln -sf ${p} plugins/${p.pluginName or ""}") plugins}
+
       export RAILS_ENV=production
 
       bundle exec rake db:migrate >/dev/null
@@ -195,6 +235,14 @@ let
       # Log Unicorn messages to the journal and make request timeout
       # configurable
       ./unicorn_logging_and_timeout.patch
+
+      # Use the Ruby API version in the plugin gem path, to match the
+      # one constructed by bundlerEnv
+      ./plugin_gem_api_version.patch
+
+      # Use mv instead of rename, since rename doesn't work across
+      # device boundaries
+      ./use_mv_instead_of_rename.patch
     ];
 
     postPatch = ''
@@ -203,8 +251,6 @@ let
       # warnings and means we don't have to link back to lib from the
       # state directory.
       find config -type f -execdir sed -Ei "s,(\.\./)+(lib|app)/,$out/share/discourse/\2/," {} \;
-
-      ${replace}/bin/replace-literal -f -r -e 'File.rename(temp_destination, destination)' "FileUtils.mv(temp_destination, destination)" .
     '';
 
     buildPhase = ''
@@ -212,7 +258,6 @@ let
 
       mv config config.dist
       mv public public.dist
-      mv plugins plugins.dist
 
       runHook postBuild
     '';
@@ -230,6 +275,7 @@ let
       ln -sf /run/discourse/public $out/share/discourse/public
       ln -sf /run/discourse/plugins $out/share/discourse/plugins
       ln -sf ${assets} $out/share/discourse/public.dist/assets
+      ${lib.concatMapStringsSep "\n" (p: "ln -sf ${p} $out/share/discourse/plugins/${p.pluginName or ""}") plugins}
 
       runHook postInstall
     '';
@@ -243,7 +289,9 @@ let
     };
 
     passthru = {
-      inherit rubyEnv runtimeEnv runtimeDeps rake;
+      inherit rubyEnv runtimeEnv runtimeDeps rake mkDiscoursePlugin;
+      enabledPlugins = plugins;
+      plugins = callPackage ./plugins/all-plugins.nix { inherit mkDiscoursePlugin; };
       ruby = rubyEnv.wrappedRuby;
       tests = nixosTests.discourse;
     };
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugin_gem_api_version.patch b/nixpkgs/pkgs/servers/web-apps/discourse/plugin_gem_api_version.patch
new file mode 100644
index 000000000000..ca7aa850ec51
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugin_gem_api_version.patch
@@ -0,0 +1,13 @@
+diff --git a/lib/plugin_gem.rb b/lib/plugin_gem.rb
+index 855d1aca2c..8115623547 100644
+--- a/lib/plugin_gem.rb
++++ b/lib/plugin_gem.rb
+@@ -4,7 +4,7 @@ module PluginGem
+   def self.load(path, name, version, opts = nil)
+     opts ||= {}
+ 
+-    gems_path = File.dirname(path) + "/gems/#{RUBY_VERSION}"
++    gems_path = File.dirname(path) + "/gems/#{Gem.ruby_api_version}"
+ 
+     spec_path = gems_path + "/specifications"
+ 
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix
new file mode 100644
index 000000000000..e6640cbbe975
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix
@@ -0,0 +1,12 @@
+{ mkDiscoursePlugin, newScope, fetchFromGitHub, ... }@args:
+let
+  callPackage = newScope args;
+in
+{
+  discourse-spoiler-alert = callPackage ./discourse-spoiler-alert {};
+  discourse-solved = callPackage ./discourse-solved {};
+  discourse-canned-replies = callPackage ./discourse-canned-replies {};
+  discourse-math = callPackage ./discourse-math {};
+  discourse-github = callPackage ./discourse-github {};
+  discourse-yearly-review = callPackage ./discourse-yearly-review {};
+}
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix
new file mode 100644
index 000000000000..05c153cd70b1
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix
@@ -0,0 +1,11 @@
+{ mkDiscoursePlugin, fetchFromGitHub }:
+
+mkDiscoursePlugin {
+  name = "discourse-canned-replies";
+  src = fetchFromGitHub {
+    owner = "discourse";
+    repo = "discourse-canned-replies";
+    rev = "7ee748f18a276aca42185e2079c1d4cadeecdaf8";
+    sha256 = "0j10kxfr6v2rdd58smg2i7iac46z74qnnjk8b91jd1svazhis1ph";
+  };
+}
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile
new file mode 100644
index 000000000000..f0205f4ff1df
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile
@@ -0,0 +1,3 @@
+source 'https://rubygems.org'
+gem 'sawyer', '0.8.2'
+gem 'octokit', '4.21.0'
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock
new file mode 100644
index 000000000000..f28833a35c0f
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock
@@ -0,0 +1,37 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    addressable (2.7.0)
+      public_suffix (>= 2.0.2, < 5.0)
+    faraday (1.4.2)
+      faraday-em_http (~> 1.0)
+      faraday-em_synchrony (~> 1.0)
+      faraday-excon (~> 1.1)
+      faraday-net_http (~> 1.0)
+      faraday-net_http_persistent (~> 1.1)
+      multipart-post (>= 1.2, < 3)
+      ruby2_keywords (>= 0.0.4)
+    faraday-em_http (1.0.0)
+    faraday-em_synchrony (1.0.0)
+    faraday-excon (1.1.0)
+    faraday-net_http (1.0.1)
+    faraday-net_http_persistent (1.1.0)
+    multipart-post (2.1.1)
+    octokit (4.21.0)
+      faraday (>= 0.9)
+      sawyer (~> 0.8.0, >= 0.5.3)
+    public_suffix (4.0.6)
+    ruby2_keywords (0.0.4)
+    sawyer (0.8.2)
+      addressable (>= 2.3.5)
+      faraday (> 0.8, < 2.0)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  octokit (= 4.21.0)
+  sawyer (= 0.8.2)
+
+BUNDLED WITH
+   2.1.4
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix
new file mode 100644
index 000000000000..e5d8cff0a9fd
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix
@@ -0,0 +1,12 @@
+{ mkDiscoursePlugin, fetchFromGitHub }:
+
+mkDiscoursePlugin {
+  name = "discourse-github";
+  bundlerEnvArgs.gemdir = ./.;
+  src = fetchFromGitHub {
+    owner = "discourse";
+    repo = "discourse-github";
+    rev = "151e353a5a1971157c70c2e2b0f56387f212a81f";
+    sha256 = "00kra6zd2k1f2vwcdvxnxnammzh72f5qxcqbb94m0z6maj598wdy";
+  };
+}
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix
new file mode 100644
index 000000000000..bad1f9629578
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix
@@ -0,0 +1,126 @@
+{
+  addressable = {
+    dependencies = ["public_suffix"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
+      type = "gem";
+    };
+    version = "2.7.0";
+  };
+  faraday = {
+    dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-net_http" "faraday-net_http_persistent" "multipart-post" "ruby2_keywords"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "07mhk70gv453pg38md346470hknyhipdqppnplq706ll3k3lzb7v";
+      type = "gem";
+    };
+    version = "1.4.2";
+  };
+  faraday-em_http = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "12cnqpbak4vhikrh2cdn94assh3yxza8rq2p9w2j34bqg5q4qgbs";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
+  faraday-em_synchrony = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1vgrbhkp83sngv6k4mii9f2s9v5lmp693hylfxp2ssfc60fas3a6";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
+  faraday-excon = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0h09wkb0k0bhm6dqsd47ac601qiaah8qdzjh8gvxfd376x1chmdh";
+      type = "gem";
+    };
+    version = "1.1.0";
+  };
+  faraday-net_http = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1fi8sda5hc54v1w3mqfl5yz09nhx35kglyx72w7b8xxvdr0cwi9j";
+      type = "gem";
+    };
+    version = "1.0.1";
+  };
+  faraday-net_http_persistent = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0l2c835wl7gv34xp49fhd1bl4czkpw2g3ahqsak2251iqv5589ka";
+      type = "gem";
+    };
+    version = "1.1.0";
+  };
+  multipart-post = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zgw9zlwh2a6i1yvhhc4a84ry1hv824d6g2iw2chs3k5aylpmpfj";
+      type = "gem";
+    };
+    version = "2.1.1";
+  };
+  octokit = {
+    dependencies = ["faraday" "sawyer"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ak64rb48d8z98nw6q70r6i0i3ivv61iqla40ss5l79491qfnn27";
+      type = "gem";
+    };
+    version = "4.21.0";
+  };
+  public_suffix = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9";
+      type = "gem";
+    };
+    version = "4.0.6";
+  };
+  ruby2_keywords = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15wfcqxyfgka05v2a7kpg64x57gl1y4xzvnc9lh60bqx5sf1iqrs";
+      type = "gem";
+    };
+    version = "0.0.4";
+  };
+  sawyer = {
+    dependencies = ["addressable" "faraday"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0yrdchs3psh583rjapkv33mljdivggqn99wkydkjdckcjn43j3cz";
+      type = "gem";
+    };
+    version = "0.8.2";
+  };
+}
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix
new file mode 100644
index 000000000000..8cf2a4abc0d1
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix
@@ -0,0 +1,11 @@
+{ mkDiscoursePlugin, fetchFromGitHub }:
+
+mkDiscoursePlugin {
+  name = "discourse-math";
+  src = fetchFromGitHub {
+    owner = "discourse";
+    repo = "discourse-math";
+    rev = "143ddea4558ea9a1b3fd71635bc11e055763c8e7";
+    sha256 = "18pq5ybl3g34i39cpixc3nszvq8gx5yji58zlbbl6428mm011cbx";
+  };
+}
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix
new file mode 100644
index 000000000000..c382a83d0893
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix
@@ -0,0 +1,11 @@
+{ mkDiscoursePlugin, fetchFromGitHub }:
+
+mkDiscoursePlugin {
+  name = "discourse-solved";
+  src = fetchFromGitHub {
+    owner = "discourse";
+    repo = "discourse-solved";
+    rev = "179611766d53974308e6f7def21836997c3c55fc";
+    sha256 = "sha256:1s77h42d3bv2lqw33akxh8ss482vxnz4d7qz6xicwqfwv34qjf03";
+  };
+}
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix
new file mode 100644
index 000000000000..8eba43e47e40
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix
@@ -0,0 +1,11 @@
+{ mkDiscoursePlugin, fetchFromGitHub }:
+
+mkDiscoursePlugin {
+  name = "discourse-spoiler-alert";
+  src = fetchFromGitHub {
+    owner = "discourse";
+    repo = "discourse-spoiler-alert";
+    rev = "e200cfa571d252cab63f3d30d619b370986e4cee";
+    sha256 = "0ya69ix5g77wz4c9x9gmng6l25ghb5xxlx3icr6jam16q14dzc33";
+  };
+}
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix
new file mode 100644
index 000000000000..8e76123ae593
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix
@@ -0,0 +1,11 @@
+{ mkDiscoursePlugin, fetchFromGitHub }:
+
+mkDiscoursePlugin {
+  name = "discourse-yearly-review";
+  src = fetchFromGitHub {
+    owner = "discourse";
+    repo = "discourse-yearly-review";
+    rev = "d1471bdb68945f55342e72e2c525b4f628419a50";
+    sha256 = "sha256:0xpl0l1vpih8xzb6y7k1lm72nj4ya99378viyhqfvpwzsn5pha2a";
+  };
+}
diff --git a/nixpkgs/pkgs/servers/web-apps/discourse/use_mv_instead_of_rename.patch b/nixpkgs/pkgs/servers/web-apps/discourse/use_mv_instead_of_rename.patch
new file mode 100644
index 000000000000..30493b543e38
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/discourse/use_mv_instead_of_rename.patch
@@ -0,0 +1,22 @@
+diff --git a/lib/discourse.rb b/lib/discourse.rb
+index ea2a3cbafd..66454d9157 100644
+--- a/lib/discourse.rb
++++ b/lib/discourse.rb
+@@ -62,7 +62,7 @@ module Discourse
+         fd.fsync()
+       end
+ 
+-      File.rename(temp_destination, destination)
++      FileUtils.mv(temp_destination, destination)
+ 
+       nil
+     end
+@@ -76,7 +76,7 @@ module Discourse
+       FileUtils.mkdir_p(File.join(Rails.root, 'tmp'))
+       temp_destination = File.join(Rails.root, 'tmp', SecureRandom.hex)
+       execute_command('ln', '-s', source, temp_destination)
+-      File.rename(temp_destination, destination)
++      FileUtils.mv(temp_destination, destination)
+ 
+       nil
+     end
diff --git a/nixpkgs/pkgs/servers/web-apps/searx/default.nix b/nixpkgs/pkgs/servers/web-apps/searx/default.nix
index 3ba6f3270425..afcded311160 100644
--- a/nixpkgs/pkgs/servers/web-apps/searx/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/searx/default.nix
@@ -33,7 +33,7 @@ toPythonModule (buildPythonApplication rec {
   propagatedBuildInputs = [
     Babel
     certifi
-    dateutil
+    python-dateutil
     flask
     flaskbabel
     gevent
diff --git a/nixpkgs/pkgs/servers/x11/xorg/xwayland.nix b/nixpkgs/pkgs/servers/x11/xorg/xwayland.nix
index e1b2597d4f45..c16391a3c504 100644
--- a/nixpkgs/pkgs/servers/x11/xorg/xwayland.nix
+++ b/nixpkgs/pkgs/servers/x11/xorg/xwayland.nix
@@ -32,6 +32,7 @@
 , stdenv
 , wayland
 , wayland-protocols
+, wayland-scanner
 , xkbcomp
 , xkeyboard_config
 , xorgproto
@@ -47,7 +48,16 @@ stdenv.mkDerivation rec {
     url = "mirror://xorg/individual/xserver/${pname}-${version}.tar.xz";
     sha256 = "sha256-MfJhzlG77namyj7AKqNn/6K176K5hBLfV8zv16GQA84=";
   };
-  nativeBuildInputs = [ pkg-config meson ninja ];
+
+  depsBuildBuild = [
+    pkg-config
+  ];
+  nativeBuildInputs = [
+    pkg-config
+    meson
+    ninja
+    wayland-scanner
+  ];
   buildInputs = [
     egl-wayland
     epoxy
@@ -83,8 +93,8 @@ stdenv.mkDerivation rec {
     zlib
   ];
   mesonFlags = [
-    "-Dxwayland-eglstream=true"
-    "-Ddefault-font-path=${defaultFontPath}"
+    "-Dxwayland_eglstream=true"
+    "-Ddefault_font_path=${defaultFontPath}"
     "-Dxkb_bin_dir=${xkbcomp}/bin"
     "-Dxkb_dir=${xkeyboard_config}/etc/X11/xkb"
     "-Dxkb_output_dir=${placeholder "out"}/share/X11/xkb/compiled"
diff --git a/nixpkgs/pkgs/servers/xmpp/ejabberd/default.nix b/nixpkgs/pkgs/servers/xmpp/ejabberd/default.nix
index 69b55a6f3c29..bf0b7472c571 100644
--- a/nixpkgs/pkgs/servers/xmpp/ejabberd/default.nix
+++ b/nixpkgs/pkgs/servers/xmpp/ejabberd/default.nix
@@ -6,8 +6,6 @@
 , withSqlite ? false, sqlite
 , withPam ? false, pam
 , withZlib ? true, zlib
-, withRiak ? false
-, withElixir ? false, elixir
 , withIconv ? true
 , withTools ? false
 , withRedis ? false
@@ -24,12 +22,12 @@ let
   ctlpath = lib.makeBinPath [ bash gnused gnugrep coreutils util-linux procps ];
 
 in stdenv.mkDerivation rec {
-  version = "20.12";
+  version = "21.04";
   pname = "ejabberd";
 
   src = fetchurl {
     url = "https://www.process-one.net/downloads/downloads-action.php?file=/${version}/${pname}-${version}.tgz";
-    sha256 = "sha256-nZxdYXRyv4UejPLHNT/p6CrvW22Koo7rZSi96KRjqFQ=";
+    sha256 = "09s8mj0dkvp9mxazsqxqqmnl5n2xyi8avx0rzgvqrbl3byanzfzr";
   };
 
   nativeBuildInputs = [ fakegit makeWrapper ];
@@ -38,11 +36,7 @@ in stdenv.mkDerivation rec {
     ++ lib.optional withSqlite sqlite
     ++ lib.optional withPam pam
     ++ lib.optional withZlib zlib
-    ++ lib.optional withElixir elixir
-    ;
-
-  # Apparently needed for Elixir
-  LANG = "en_US.UTF-8";
+  ;
 
   deps = stdenv.mkDerivation {
     pname = "ejabberd-deps";
@@ -52,7 +46,7 @@ in stdenv.mkDerivation rec {
 
     configureFlags = [ "--enable-all" "--with-sqlite3=${sqlite.dev}" ];
 
-    nativeBuildInputs = [ git erlang openssl expat libyaml sqlite pam zlib elixir ];
+    nativeBuildInputs = [ git erlang openssl expat libyaml sqlite pam zlib ];
 
     GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt";
 
@@ -76,7 +70,7 @@ in stdenv.mkDerivation rec {
 
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash = "sha256-0/hBgA+9rsDOBcvbROSpc5Xnw4JkYpuLCl2V+lJnieY=";
+    outputHash = "1mvixgb46ss35abjwz3lw38c69bii1xyj557a92bvrxc1gc6gx31";
   };
 
   configureFlags =
@@ -85,8 +79,6 @@ in stdenv.mkDerivation rec {
       (lib.enableFeature withSqlite "sqlite")
       (lib.enableFeature withPam "pam")
       (lib.enableFeature withZlib "zlib")
-      (lib.enableFeature withRiak "riak")
-      (lib.enableFeature withElixir "elixir")
       (lib.enableFeature withIconv "iconv")
       (lib.enableFeature withTools "tools")
       (lib.enableFeature withRedis "redis")
@@ -97,7 +89,7 @@ in stdenv.mkDerivation rec {
   preBuild = ''
     cp -r $deps deps
     chmod -R +w deps
-    patchShebangs deps
+    patchShebangs .
   '';
 
   postInstall = ''
@@ -108,6 +100,7 @@ in stdenv.mkDerivation rec {
       -e 's,\(^ *CONNLOCKDIR=\).*,\1/var/lock/ejabberdctl,' \
       $out/sbin/ejabberdctl
     wrapProgram $out/lib/eimp-*/priv/bin/eimp --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libpng libjpeg libwebp ]}"
+    rm $out/bin/{mix,iex,elixir}
   '';
 
   meta = with lib; {
@@ -116,6 +109,5 @@ in stdenv.mkDerivation rec {
     homepage = "https://www.ejabberd.im";
     platforms = platforms.linux;
     maintainers = with maintainers; [ sander abbradar ];
-    broken = withElixir;
   };
 }
diff --git a/nixpkgs/pkgs/shells/fish/default.nix b/nixpkgs/pkgs/shells/fish/default.nix
index a5754290426d..c53a9ed0fe2d 100644
--- a/nixpkgs/pkgs/shells/fish/default.nix
+++ b/nixpkgs/pkgs/shells/fish/default.nix
@@ -134,7 +134,7 @@ let
 
   fish = stdenv.mkDerivation rec {
     pname = "fish";
-    version = "3.2.2";
+    version = "3.3.1";
 
     src = fetchurl {
       # There are differences between the release tarball and the tarball GitHub
@@ -144,7 +144,7 @@ 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 = "WUTaGoiT0RsIKKT9kTbuF0VJ2v+z0K392JF4Vv5rQAk=";
+      sha256 = "sha256-tbTuGlJpdiy76ZOkvWUH5nXkEAzpu+hCFKXusrGfrok=";
     };
 
     # Fix FHS paths in tests
diff --git a/nixpkgs/pkgs/shells/fish/plugins/pure.nix b/nixpkgs/pkgs/shells/fish/plugins/pure.nix
index 3221f6b97ca7..68da97633c4f 100644
--- a/nixpkgs/pkgs/shells/fish/plugins/pure.nix
+++ b/nixpkgs/pkgs/shells/fish/plugins/pure.nix
@@ -2,15 +2,23 @@
 
 buildFishPlugin rec {
   pname = "pure";
-  version = "3.4.2";
+  version = "4.1.1";
 
   src = fetchFromGitHub {
-    owner = "rafaelrinaldi";
+    owner = "pure-fish";
     repo = "pure";
     rev = "v${version}";
-    sha256 = "134sz3f98gb6z2vgd5kkm6dd8pka5gijk843c32s616w35y07sga";
+    sha256 = "1x1h65l8582p7h7w5986sc9vfd7b88a7hsi68dbikm090gz8nlxx";
   };
 
+  # The tests aren't passing either on the project's CI.
+  # The release notes of the program for v3.5.0 say:
+  # > Tests are going crazy at the moment, should be fixed once fishtape 3.0
+  # > is released, and we do the switch.
+  # This is tracked in https://github.com/pure-fish/pure/issues/272
+  # and https://github.com/pure-fish/pure/pull/275.
+  doCheck = false;
+
   checkInputs = [ git ];
   checkPlugins = [ fishtape ];
   checkPhase = ''
diff --git a/nixpkgs/pkgs/shells/oil/default.nix b/nixpkgs/pkgs/shells/oil/default.nix
index 654476bd5ae0..4d66f0d401dc 100644
--- a/nixpkgs/pkgs/shells/oil/default.nix
+++ b/nixpkgs/pkgs/shells/oil/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, lib, fetchurl, readline }:
+{ stdenv, lib, fetchurl, withReadline ? true, readline }:
 
 stdenv.mkDerivation rec {
   pname = "oil";
-  version = "0.8.11";
+  version = "0.8.12";
 
   src = fetchurl {
     url = "https://www.oilshell.org/download/oil-${version}.tar.xz";
-    sha256 = "sha256-GVV+532dPrXkQ3X2+wa4u6aCPBvQAIiypeoqzJqvk9Y=";
+    sha256 = "sha256-M8JdMru2DDcPWa7qQq9m1NQwjI7kVkHvK5I4W5U1XPU=";
   };
 
   postPatch = ''
@@ -17,8 +17,8 @@ stdenv.mkDerivation rec {
     mkdir -p $out/bin
   '';
 
-  buildInputs = [ readline ];
-  configureFlags = [ "--with-readline" ];
+  buildInputs = lib.optional withReadline readline;
+  configureFlags = lib.optional withReadline "--with-readline";
 
   # Stripping breaks the bundles by removing the zip file from the end.
   dontStrip = true;
diff --git a/nixpkgs/pkgs/stdenv/generic/make-derivation.nix b/nixpkgs/pkgs/stdenv/generic/make-derivation.nix
index 4536024c5118..d6704d59111a 100644
--- a/nixpkgs/pkgs/stdenv/generic/make-derivation.nix
+++ b/nixpkgs/pkgs/stdenv/generic/make-derivation.nix
@@ -110,7 +110,9 @@ in rec {
                                       ++ depsTargetTarget ++ depsTargetTargetPropagated) == 0;
       dontAddHostSuffix = attrs ? outputHash && !noNonNativeDeps || !stdenv.hasCC;
       supportedHardeningFlags = [ "fortify" "stackprotector" "pie" "pic" "strictoverflow" "format" "relro" "bindnow" ];
-                              # Musl-based platforms will keep "pie", other platforms will not.
+      # Musl-based platforms will keep "pie", other platforms will not.
+      # If you change this, make sure to update section `{#sec-hardening-in-nixpkgs}`
+      # in the nixpkgs manual to inform users about the defaults.
       defaultHardeningFlags = if stdenv.hostPlatform.isMusl &&
                                 # Except when:
                                 #    - static aarch64, where compilation works, but produces segfaulting dynamically linked binaries.
diff --git a/nixpkgs/pkgs/stdenv/generic/setup.sh b/nixpkgs/pkgs/stdenv/generic/setup.sh
index a73474c952e5..066ef6ed9eb3 100644
--- a/nixpkgs/pkgs/stdenv/generic/setup.sh
+++ b/nixpkgs/pkgs/stdenv/generic/setup.sh
@@ -1,6 +1,12 @@
 set -eu
 set -o pipefail
 
+if [ -n "${BASH_VERSINFO-}" ] && [ "${BASH_VERSINFO-}" -lt 4 ]; then
+    echo "Detected Bash version that isn't supported by Nixpkgs (${BASH_VERSION})"
+    echo "Please install Bash 4 or greater to continue."
+    exit 1
+fi
+
 if (( "${NIX_DEBUG:-0}" >= 6 )); then
     set -x
 fi
diff --git a/nixpkgs/pkgs/test/default.nix b/nixpkgs/pkgs/test/default.nix
index 8c9e7b6f2813..ebf732839cea 100644
--- a/nixpkgs/pkgs/test/default.nix
+++ b/nixpkgs/pkgs/test/default.nix
@@ -52,6 +52,7 @@ with pkgs;
   cuda = callPackage ./cuda { };
 
   trivial = callPackage ../build-support/trivial-builders/test.nix {};
+  trivial-overriding = callPackage ../build-support/trivial-builders/test-overriding.nix {};
 
   writers = callPackage ../build-support/writers/test.nix {};
 }
diff --git a/nixpkgs/pkgs/tools/X11/go-sct/default.nix b/nixpkgs/pkgs/tools/X11/go-sct/default.nix
index 8744c493b71c..801ddc96c4a0 100644
--- a/nixpkgs/pkgs/tools/X11/go-sct/default.nix
+++ b/nixpkgs/pkgs/tools/X11/go-sct/default.nix
@@ -21,7 +21,7 @@ buildGoPackage rec {
   meta = with lib; {
     description = "Color temperature setting library and CLI that operates in a similar way to f.lux and Redshift";
     license = licenses.mit;
-    maintainers = with maintainers; [ rvolosatovs cstrahan ];
+    maintainers = with maintainers; [ cstrahan ];
     platforms = platforms.linux ++ platforms.windows;
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/awscli2/default.nix b/nixpkgs/pkgs/tools/admin/awscli2/default.nix
index 0824a26855dd..1ce3cb452b8c 100644
--- a/nixpkgs/pkgs/tools/admin/awscli2/default.nix
+++ b/nixpkgs/pkgs/tools/admin/awscli2/default.nix
@@ -3,12 +3,12 @@ let
   py = python3.override {
     packageOverrides = self: super: {
       botocore = super.botocore.overridePythonAttrs (oldAttrs: rec {
-        version = "2.0.0dev112";
+        version = "2.0.0dev122";
         src = fetchFromGitHub {
           owner = "boto";
           repo = "botocore";
-          rev = "221c0aa5dbad42f096e00fed45d2e2071561b1da";
-          sha256 = "sha256-uJCP3bUK/xACQVG4kMBDIIP+zPjre+uWbqWEC/gBTD4=";
+          rev = "8dd916418c8193f56226b7772f263b2435eae27a";
+          sha256 = "sha256-iAZmqnffqrmFuxlQyOpEQzSCcL/hRAjuXKulOXoy4hY=";
         };
       });
       prompt_toolkit = super.prompt_toolkit.overridePythonAttrs (oldAttrs: rec {
@@ -18,34 +18,29 @@ let
           sha256 = "1nr990i4b04rnlw1ghd0xmgvvvhih698mb6lb6jylr76cs7zcnpi";
         };
       });
-      s3transfer = super.s3transfer.overridePythonAttrs (oldAttrs: rec {
-        version = "0.4.2";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "sha256-ywIvSxZVHt67sxo3fT8JYA262nNj2MXbeXbn9Hcy4bI=";
-        };
-      });
     };
   };
 
 in
 with py.pkgs; buildPythonApplication rec {
   pname = "awscli2";
-  version = "2.2.4"; # N.B: if you change this, change botocore to a matching version too
+  version = "2.2.14"; # N.B: if you change this, change botocore to a matching version too
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = "aws-cli";
     rev = version;
-    sha256 = "sha256-MctW31X012DXY16qS6AP6nLiaAt/cuA8iMwGm0oXi6M=";
+    sha256 = "sha256-LU9Tqzdi8ULZ5y3FbfSXdrip4NcxFkXRCTpVGo05LcM=";
   };
 
   postPatch = ''
-    substituteInPlace setup.py --replace "colorama>=0.2.5,<0.4.4" "colorama>=0.2.5"
-    substituteInPlace setup.py --replace "cryptography>=3.3.2,<3.4.0" "cryptography>=3.3.2"
-    substituteInPlace setup.py --replace "docutils>=0.10,<0.16" "docutils>=0.10"
-    substituteInPlace setup.py --replace "ruamel.yaml>=0.15.0,<0.16.0" "ruamel.yaml>=0.15.0"
-    substituteInPlace setup.py --replace "wcwidth<0.2.0" "wcwidth"
+    substituteInPlace setup.py \
+      --replace "awscrt==0.11.13" "awscrt" \
+      --replace "colorama>=0.2.5,<0.4.4" "colorama" \
+      --replace "cryptography>=3.3.2,<3.4.0" "cryptography" \
+      --replace "docutils>=0.10,<0.16" "docutils" \
+      --replace "ruamel.yaml>=0.15.0,<0.16.0" "ruamel.yaml" \
+      --replace "wcwidth<0.2.0" "wcwidth"
   '';
 
   checkInputs = [ jsonschema mock nose ];
diff --git a/nixpkgs/pkgs/tools/admin/awslogs/default.nix b/nixpkgs/pkgs/tools/admin/awslogs/default.nix
index d9fd55f32c92..5b61e4828ef6 100644
--- a/nixpkgs/pkgs/tools/admin/awslogs/default.nix
+++ b/nixpkgs/pkgs/tools/admin/awslogs/default.nix
@@ -12,7 +12,7 @@ python3Packages.buildPythonApplication rec {
   };
 
   propagatedBuildInputs = with python3Packages; [
-    boto3 termcolor dateutil docutils setuptools jmespath
+    boto3 termcolor python-dateutil docutils setuptools jmespath
   ];
 
   checkInputs = [ python3Packages.pytestCheckHook ];
diff --git a/nixpkgs/pkgs/tools/admin/azure-cli/python-packages.nix b/nixpkgs/pkgs/tools/admin/azure-cli/python-packages.nix
index 228fb4503cf6..64823278d6da 100644
--- a/nixpkgs/pkgs/tools/admin/azure-cli/python-packages.nix
+++ b/nixpkgs/pkgs/tools/admin/azure-cli/python-packages.nix
@@ -6,7 +6,7 @@ let
     prePatch = (attrs.prePatch or "") + ''
       rm -f azure_bdist_wheel.py tox.ini
       substituteInPlace setup.py \
-        --replace "cryptography>=2.3.1,<3.0.0" "cryptography"
+        --replace "cryptography>=3.2,<3.4" "cryptography"
       sed -i "/azure-namespace-package/c\ " setup.cfg
     '';
 
@@ -119,6 +119,12 @@ let
           portalocker
         ];
 
+        # upstream doesn't update this requirement probably because they use pip
+        postPatch = ''
+          substituteInPlace setup.py \
+            --replace "portalocker~=1.6" "portalocker"
+        '';
+
         # ignore flaky test
         checkPhase = ''
           cd azure
diff --git a/nixpkgs/pkgs/tools/admin/clair/default.nix b/nixpkgs/pkgs/tools/admin/clair/default.nix
index 46989bc24fb0..0298ca29a7c4 100644
--- a/nixpkgs/pkgs/tools/admin/clair/default.nix
+++ b/nixpkgs/pkgs/tools/admin/clair/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "clair";
-  version = "4.1.0";
+  version = "4.1.1";
 
   src = fetchFromGitHub {
     owner = "quay";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Ns02Yi0FJPOCpjr1P5c1KOkRZ8saxQzXg/Zn5vYLztU=";
+    sha256 = "sha256-E04G3EJ0JrOVjtTd3nBHZehzuDrvt6t4hfFdGO92uuk=";
   };
 
-  vendorSha256 = "sha256-aFaeRhg+aLOmS7VFbgdxaEtZcBKn9zCVINad6ahpDCo=";
+  vendorSha256 = "sha256-xgP5IhB9eyKOIBlT5jKDJkUy8lz2UrWmGqqeDhqRawY=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/admin/eksctl/default.nix b/nixpkgs/pkgs/tools/admin/eksctl/default.nix
index 32049fd11b65..9af721f02e56 100644
--- a/nixpkgs/pkgs/tools/admin/eksctl/default.nix
+++ b/nixpkgs/pkgs/tools/admin/eksctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "eksctl";
-  version = "0.54.0";
+  version = "0.55.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = version;
-    sha256 = "sha256-hWrSjkEdhb0F5lwFGwjkR2G6gQ8T8HommH2lxJE+0bk=";
+    sha256 = "sha256-5PrwOR70pSmNPHFSDHRvXNn0pksIQun5jJkcCFsYhCE=";
   };
 
-  vendorSha256 = "sha256-499c3Y9IUV8lc+O9qcEeFKQDT4QDvOPmu0rmps7M47w=";
+  vendorSha256 = "sha256-N2jdaz0lb4Ut8P+FgNNjgyUeJ731fTQ5XSQgOF8KCQs=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix b/nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix
index d6b264a4aa38..7136fecf433a 100644
--- a/nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "exoscale-cli";
-  version = "1.32.2";
+  version = "1.34.0";
 
   src = fetchFromGitHub {
     owner  = "exoscale";
     repo   = "cli";
     rev    = "v${version}";
-    sha256 = "sha256-Yx+GA959AB6m62hDlZKYjsuT9Y9TJbIdzUVBMM8OgTg=";
+    sha256 = "sha256-Gu9o1aUDlhcEZPZZsfVF0FnlzT1DvbEXMXjnOxhY8tY=";
   };
 
   goPackagePath = "github.com/exoscale/cli";
diff --git a/nixpkgs/pkgs/tools/admin/google-cloud-sdk/default.nix b/nixpkgs/pkgs/tools/admin/google-cloud-sdk/default.nix
index d5e8897af9b8..5bd9c95d3a5e 100644
--- a/nixpkgs/pkgs/tools/admin/google-cloud-sdk/default.nix
+++ b/nixpkgs/pkgs/tools/admin/google-cloud-sdk/default.nix
@@ -21,18 +21,23 @@ let
   sources = name: system: {
     x86_64-darwin = {
       url = "${baseUrl}/${name}-darwin-x86_64.tar.gz";
-      sha256 = "1p8iv2axb5i8xnzm58dmmahxfwplj4r115mz63cl5q0iyy12npbh";
+      sha256 = "0viiwimnk26jfi4ypkvclqqxw8anlmch10zscjw69d8x1pyqczcd";
+    };
+
+    aarch64-darwin = {
+      url = "${baseUrl}/${name}-darwin-arm.tar.gz";
+      sha256 = "sha256-EZbJgMzEZScvaqSKay5aDuayVaIK1zZUzqAHgT0czZk=";
     };
 
     x86_64-linux = {
       url = "${baseUrl}/${name}-linux-x86_64.tar.gz";
-      sha256 = "0zcf9zabdg2r7d9vafxn4wf0j09im5lhycylf91g734zzh6vc267";
+      sha256 = "11113l8pyhq6vbsh79m5anh6ljss94zhnp33ghds9rn1gxa83hnb";
     };
   }.${system};
 
 in stdenv.mkDerivation rec {
   pname = "google-cloud-sdk";
-  version = "345.0.0";
+  version = "347.0.0";
 
   src = fetchurl (sources "${pname}-${version}" stdenv.hostPlatform.system);
 
@@ -109,6 +114,6 @@ in stdenv.mkDerivation rec {
     license = licenses.free;
     homepage = "https://cloud.google.com/sdk/";
     maintainers = with maintainers; [ iammrinal0 pradyuman stephenmw zimbatm ];
-    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/oci-cli/default.nix b/nixpkgs/pkgs/tools/admin/oci-cli/default.nix
index 8996ef5069f3..729f0aa8fd91 100644
--- a/nixpkgs/pkgs/tools/admin/oci-cli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/oci-cli/default.nix
@@ -33,7 +33,7 @@ python3Packages.buildPythonApplication rec {
   };
 
   propagatedBuildInputs = with python3Packages; [
-    oci arrow certifi pinned_click configparser cryptography jmespath dateutil
+    oci arrow certifi pinned_click configparser cryptography jmespath python-dateutil
     pytz retrying six terminaltables pyopenssl pyyaml
   ];
 
diff --git a/nixpkgs/pkgs/tools/admin/pulumi/data.nix b/nixpkgs/pkgs/tools/admin/pulumi/data.nix
index e1a6d14914be..99627b930c25 100644
--- a/nixpkgs/pkgs/tools/admin/pulumi/data.nix
+++ b/nixpkgs/pkgs/tools/admin/pulumi/data.nix
@@ -1,20 +1,20 @@
 # DO NOT EDIT! This file is generated automatically by update.sh
 { }:
 {
-  version = "3.5.1";
+  version = "3.6.0";
   pulumiPkgs = {
     x86_64-linux = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.5.1-linux-x64.tar.gz";
-        sha256 = "1wdkwifn1p0m98dmn0g2kcwnllqilfwzkyyg2sg1pfdmk3da9bi3";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.6.0-linux-x64.tar.gz";
+        sha256 = "1phj65y1l6pllq5fyrxm7hrwg44jpzq1skq6dw7x6zrs8prnlj52";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.2.0-linux-amd64.tar.gz";
         sha256 = "0d88xfi7zzmpyrnvakwxsyavdx6d5hmfrcf4jhmd53mni0m0551l";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.8.0-linux-amd64.tar.gz";
-        sha256 = "14r2akgfrs512h9g6lx9scl0bph3qmw3j113shwg2nhqbmwvvh3z";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.10.0-linux-amd64.tar.gz";
+        sha256 = "12fj43pcs64s0i6h05q94abbxi0r1rlh8qgycmmydr8wajsn2a54";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v3.2.0-linux-amd64.tar.gz";
@@ -41,8 +41,8 @@
         sha256 = "0yhdcjscdkvvai95z2v6xabvvsfvaqi38ngpqrb73ahlwqhz3nys";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.9.0-linux-amd64.tar.gz";
-        sha256 = "0w28ikwna057dbhsvidkd5sp2v0frih6n4an1cl3gx51yhqsxzap";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.11.0-linux-amd64.tar.gz";
+        sha256 = "0h0dpbdc9rcagw0wgz5l6jjc8wl1hj5ki5shi44jyf4hz7l0yl9y";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.2.0-linux-amd64.tar.gz";
@@ -53,16 +53,16 @@
         sha256 = "13rchk54wpjwci26kfa519gqagwfrp31w6a9nk1xfdxj45ha9d3x";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.0.1-linux-amd64.tar.gz";
-        sha256 = "1jk3al4mnk6cblaf56yyx0anv3kp3vyr6fqglsinkzaayaswx63z";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.1.0-linux-amd64.tar.gz";
+        sha256 = "0al3578g7l9rvhkswlm56wpkybj6njj39a3g56in9882lhpqixsy";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.4.0-linux-amd64.tar.gz";
-        sha256 = "1dpd6m5w6fnxrspig4s2vcd4hxy720gcrdrxakn1mvz29k4s0zv3";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.5.0-linux-amd64.tar.gz";
+        sha256 = "1zi6r1g7l56ra506hxkj8p9wlkgbmry7ir48v8wwdsfvplryj4sf";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.1.0-linux-amd64.tar.gz";
-        sha256 = "0q1bi1a80jwgx52m9hy0vp67hdv3nbhd0gqxj3jaf5w4dnh48dca";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.2.0-linux-amd64.tar.gz";
+        sha256 = "1lvb3vs2yp0ybz2xn2za5f0nfipiisrpzwzfn0wgl9arh17v0phc";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.1.0-linux-amd64.tar.gz";
@@ -99,16 +99,16 @@
     ];
     x86_64-darwin = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.5.1-darwin-x64.tar.gz";
-        sha256 = "0q2617vg53ib65vlj09z78lqqg4dz5ymcjn9kablkm5a6s1sfh5s";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.6.0-darwin-x64.tar.gz";
+        sha256 = "0yql94y78q0hfsxfsgvkxs7dv2lgrkv4ypm59qjr8l04krcknbmm";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.2.0-darwin-amd64.tar.gz";
         sha256 = "12mkr0xczdnp21k0k7qn4r3swkaq3pr6v2z853p1db7ksz5kds23";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.8.0-darwin-amd64.tar.gz";
-        sha256 = "0qhpzvfv67fn2n1x3h7znqiw7wxz526iw1a41q8v8jalkahfa2rb";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.10.0-darwin-amd64.tar.gz";
+        sha256 = "0zv4b7nyvz7h0h0jxndd7dxzf4risgqyl7f20cbbcsixxk90sz38";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v3.2.0-darwin-amd64.tar.gz";
@@ -135,8 +135,8 @@
         sha256 = "1dpsbq3b0fz86355jy7rz4kcsa1lnw4azn25vzlis89ay1ncbblc";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.9.0-darwin-amd64.tar.gz";
-        sha256 = "1y4pjx260dlh7yi0skd5n2ixlqzi6b9lp5h77qaq1b9h3n4xybfh";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.11.0-darwin-amd64.tar.gz";
+        sha256 = "1k7yxajx3157qdanw1y11053k74rwlcvh828xrpwkzqszmzizxp9";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.2.0-darwin-amd64.tar.gz";
@@ -147,16 +147,16 @@
         sha256 = "0qbw4b5zm6dmwdilaz4bjdg55gc5lilwagrxwrab37vq4a8and4c";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.0.1-darwin-amd64.tar.gz";
-        sha256 = "1ddkzwwr2vc0sp1q3r510rpjqj5dl1dn8ax938874jnflcbcwng6";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.1.0-darwin-amd64.tar.gz";
+        sha256 = "1fgh7q7sivip212q2zgvrgg3lwxrzasm9vpa858168fvjv67ylbc";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.4.0-darwin-amd64.tar.gz";
-        sha256 = "1x6fqa643n731cadb02288kc2z321gjjldkvi8wvjjy2dm0lfp72";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.5.0-darwin-amd64.tar.gz";
+        sha256 = "0cl8wg5g78c147pqy5q52qq9bd7hw8zgvfmdafszwzwz6xh1051b";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.1.0-darwin-amd64.tar.gz";
-        sha256 = "13rq01ylrqp48n62cp640a4mdqbrqnibb0xaw9pcpddl3a3nnck0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.2.0-darwin-amd64.tar.gz";
+        sha256 = "008jqnrl08g3gd38vg2yjwxdn288z75sbp3ghl2cbncfah2lwwja";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.1.0-darwin-amd64.tar.gz";
diff --git a/nixpkgs/pkgs/tools/admin/pulumi/update.sh b/nixpkgs/pkgs/tools/admin/pulumi/update.sh
index 98f382d12d20..efde5e7d6603 100755
--- a/nixpkgs/pkgs/tools/admin/pulumi/update.sh
+++ b/nixpkgs/pkgs/tools/admin/pulumi/update.sh
@@ -3,25 +3,25 @@
 
 # Version of Pulumi from
 # https://www.pulumi.com/docs/get-started/install/versions/
-VERSION="3.5.1"
+VERSION="3.6.0"
 
 # Grab latest release ${VERSION} from
 # https://github.com/pulumi/pulumi-${NAME}/releases
 plugins=(
     "auth0=2.2.0"
-    "aws=4.8.0"
+    "aws=4.10.0"
     "cloudflare=3.2.0"
     "consul=3.2.0"
     "datadog=3.3.0"
     "digitalocean=4.4.1"
     "docker=3.0.0"
     "equinix-metal=2.0.0"
-    "gcp=5.9.0"
+    "gcp=5.11.0"
     "github=4.2.0"
     "gitlab=4.1.0"
-    "hcloud=1.0.1"
-    "kubernetes=3.4.0"
-    "linode=3.1.0"
+    "hcloud=1.1.0"
+    "kubernetes=3.5.0"
+    "linode=3.2.0"
     "mailgun=3.1.0"
     "mysql=3.0.0"
     "openstack=3.2.0"
diff --git a/nixpkgs/pkgs/tools/admin/sec/default.nix b/nixpkgs/pkgs/tools/admin/sec/default.nix
index fe3517c6196c..0afac976d09e 100644
--- a/nixpkgs/pkgs/tools/admin/sec/default.nix
+++ b/nixpkgs/pkgs/tools/admin/sec/default.nix
@@ -1,12 +1,13 @@
 { fetchFromGitHub, perl, lib, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "sec-${meta.version}";
+  pname = "sec";
+  version = "2.8.3";
 
   src = fetchFromGitHub {
     owner = "simple-evcorr";
     repo = "sec";
-    rev = meta.version;
+    rev = version;
     sha256 = "0ryic5ilj1i5l41440i0ss6j3yv796fz3gr0qij5pqyd1z21md83";
   };
 
@@ -27,6 +28,5 @@ stdenv.mkDerivation rec {
     description = "Simple Event Correlator";
     maintainers = [ lib.maintainers.tv ];
     platforms = lib.platforms.all;
-    version = "2.8.3";
   };
 }
diff --git a/nixpkgs/pkgs/tools/audio/abcmidi/default.nix b/nixpkgs/pkgs/tools/audio/abcmidi/default.nix
index 6038d1586e56..16c6e0fc8a07 100644
--- a/nixpkgs/pkgs/tools/audio/abcmidi/default.nix
+++ b/nixpkgs/pkgs/tools/audio/abcmidi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "abcMIDI";
-  version = "2021.06.24";
+  version = "2021.06.27";
 
   src = fetchzip {
     url = "https://ifdo.ca/~seymour/runabc/${pname}-${version}.zip";
-    sha256 = "sha256-FaB1QTl4xCTz/sbgptXQHtD0wadXG3UCgdZoOPCOH0U=";
+    sha256 = "sha256-tLKxs1p1CIU/2XV1fMgWrwdtePeXOBZUMjz46kgp9C0=";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/backup/btrbk/default.nix b/nixpkgs/pkgs/tools/backup/btrbk/default.nix
index c619a69c1118..4b4dadd4faff 100644
--- a/nixpkgs/pkgs/tools/backup/btrbk/default.nix
+++ b/nixpkgs/pkgs/tools/backup/btrbk/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, bash, btrfs-progs, openssh, perl, perlPackages
-, util-linux, asciidoc, asciidoctor, mbuffer, makeWrapper }:
+, util-linux, asciidoc, asciidoctor, mbuffer, makeWrapper, nixosTests }:
 
 stdenv.mkDerivation rec {
   pname = "btrbk";
@@ -35,6 +35,8 @@ stdenv.mkDerivation rec {
       --prefix PATH ':' "${lib.makeBinPath [ btrfs-progs bash mbuffer openssh ]}"
   '';
 
+  passthru.tests.btrbk = nixosTests.btrbk;
+
   meta = with lib; {
     description = "A backup tool for btrfs subvolumes";
     homepage = "https://digint.ch/btrbk";
diff --git a/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/default.nix b/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/default.nix
new file mode 100644
index 000000000000..76b7d1da59b4
--- /dev/null
+++ b/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/default.nix
@@ -0,0 +1,87 @@
+{ lib, stdenv, fetchFromGitHub, fetchurl, linkFarmFromDrvs, makeWrapper, autoPatchelfHook
+, dotnet-sdk_5, dotnetPackages, dotnetCorePackages, cacert
+}:
+
+let
+  projectFile = "DiscordChatExporter.Cli/DiscordChatExporter.Cli.csproj";
+in
+stdenv.mkDerivation rec {
+  pname = "discordchatexporter-cli";
+  version = "2.28";
+
+  src = fetchFromGitHub {
+    owner = "tyrrrz";
+    repo = "discordchatexporter";
+    rev = version;
+    sha256 = "1bcq8mwjr8635g8mkgbxnszk20hnwf0zk672glrxjqga6f6fnykg";
+  };
+
+  nativeBuildInputs = [ dotnet-sdk_5 dotnetPackages.Nuget cacert makeWrapper autoPatchelfHook ];
+  buildInputs = [ stdenv.cc.cc.lib ];
+
+  nugetDeps = linkFarmFromDrvs "${pname}-nuget-deps" (import ./deps.nix {
+    fetchNuGet = { name, version, sha256 }: fetchurl {
+      name = "nuget-${name}-${version}.nupkg";
+      url = "https://www.nuget.org/api/v2/package/${name}/${version}";
+      inherit sha256;
+    };
+  });
+
+  configurePhase = ''
+    runHook preConfigure
+
+    export HOME=$(mktemp -d)
+    export DOTNET_CLI_TELEMETRY_OPTOUT=1
+    export DOTNET_NOLOGO=1
+
+    nuget sources Add -Name nixos -Source "$PWD/nixos"
+    nuget init "$nugetDeps" "$PWD/nixos"
+
+    # FIXME: https://github.com/NuGet/Home/issues/4413
+    mkdir -p $HOME/.nuget/NuGet
+    cp $HOME/.config/NuGet/NuGet.Config $HOME/.nuget/NuGet
+
+    dotnet restore --source "$PWD/nixos" ${projectFile}
+
+    runHook postConfigure
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+
+    dotnet build ${projectFile} \
+      --no-restore \
+      --configuration Release \
+      -p:Version=${version}
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    dotnet publish ${projectFile} \
+      --no-build \
+      --configuration Release \
+      --no-self-contained \
+      --output $out/lib/${pname}
+    shopt -s extglob
+
+    makeWrapper $out/lib/${pname}/DiscordChatExporter.Cli $out/bin/discordchatexporter-cli \
+      --set DOTNET_ROOT "${dotnetCorePackages.sdk_3_1}"
+
+    runHook postInstall
+  '';
+
+  # Strip breaks the executable.
+  dontStrip = true;
+
+  meta = with lib; {
+    description = "A tool to export Discord chat logs to a file";
+    homepage = "https://github.com/Tyrrrz/DiscordChatExporter";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.ivar ];
+    platforms = [ "x86_64-linux" ];
+  };
+  passthru.updateScript = ./updater.sh;
+}
diff --git a/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/deps.nix b/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/deps.nix
new file mode 100644
index 000000000000..a7703f2ba2c1
--- /dev/null
+++ b/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/deps.nix
@@ -0,0 +1,67 @@
+{ fetchNuGet }: [
+  (fetchNuGet {
+    name = "CliFx";
+    version = "2.0.4";
+    sha256 = "1wwpjli4y2545yi6k17mvjqy994wl3wm6nngszk87rbdwhkbncaj";
+  })
+  (fetchNuGet {
+    name = "Gress";
+    version = "1.2.0";
+    sha256 = "0aidc9whi0718gh896j7xkyndki9x7rifd8n1n681afb2zbxw4bn";
+  })
+  (fetchNuGet {
+    name = "JsonExtensions";
+    version = "1.1.0";
+    sha256 = "1fqxb2jdbvjgg135wmy890qf63r056dq16jy7wgzkgp21m3j0lgy";
+  })
+  (fetchNuGet {
+    name = "Microsoft.AspNetCore.App.Ref";
+    version = "3.1.10";
+    sha256 = "0xn4zh7shvijqlr03fqsmps6gz856isd9bg9rk4z2c4599ggal77";
+  })
+  (fetchNuGet {
+    name = "Microsoft.NETCore.App.Host.linux-x64";
+    version = "3.1.14";
+    sha256 = "11rqnascx9asfyxgxzwgxgr9gxxndm552k4dn4p1s57ciz7vkg9h";
+  })
+  (fetchNuGet {
+    name = "Microsoft.NETCore.App.Ref";
+    version = "3.1.0";
+    sha256 = "08svsiilx9spvjamcnjswv0dlpdrgryhr3asdz7cvnl914gjzq4y";
+  })
+  (fetchNuGet {
+    name = "MiniRazor.CodeGen";
+    version = "2.1.2";
+    sha256 = "0mg4zy4zq0ccrc9wchy796ln1znkmn3k1aax0kd2gha4fwa1d1fb";
+  })
+  (fetchNuGet {
+    name = "MiniRazor.Runtime";
+    version = "2.1.2";
+    sha256 = "1a6cm7j1f5n1bfzhg8w60xwa7cps2i82418k57dm2hgqla6p3rsp";
+  })
+  (fetchNuGet {
+    name = "Polly";
+    version = "7.2.2";
+    sha256 = "0s15n5zwj44i6sw3v40ca8l6j0ijydxcakvad49j52rp49iwrmkn";
+  })
+  (fetchNuGet {
+    name = "Spectre.Console";
+    version = "0.40.0";
+    sha256 = "17bb31nsvfk7m337zwqcz4v6cvayhfx51ri4yrv5i8nbp7f4rpb1";
+  })
+  (fetchNuGet {
+    name = "System.Memory";
+    version = "4.5.0";
+    sha256 = "1layqpcx1q4l805fdnj2dfqp6ncx2z42ca06rgsr6ikq4jjgbv30";
+  })
+  (fetchNuGet {
+    name = "Tyrrrz.Extensions";
+    version = "1.6.5";
+    sha256 = "1yzsii1pbp6b066wxwwws310p7h809apl81bhb8ad55hqlzy1rg3";
+  })
+  (fetchNuGet {
+    name = "Wcwidth";
+    version = "0.2.0";
+    sha256 = "0p7zaisix9ql4v5nyl9gfc93xcyj74j01rwvgm7jw29js3wlj10s";
+  })
+]
diff --git a/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/updater.sh b/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/updater.sh
new file mode 100755
index 000000000000..ff5c44a19bcd
--- /dev/null
+++ b/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/updater.sh
@@ -0,0 +1,44 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl jq common-updater-scripts dotnet-sdk_5
+set -eo pipefail
+cd "$(dirname "${BASH_SOURCE[0]}")"
+
+deps_file="$(realpath "./deps.nix")"
+
+new_version="$(curl -s "https://api.github.com/repos/tyrrrz/DiscordChatExporter/releases?per_page=1" | jq -r '.[0].name')"
+old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)"
+if [[ "$new_version" == "$old_version" ]]; then
+  echo "Up to date"
+  exit 0
+fi
+
+cd ../../../..
+update-source-version discordchatexporter-cli "$new_version"
+store_src="$(nix-build . -A discordchatexporter-cli.src --no-out-link)"
+src="$(mktemp -d /tmp/discordexporter-src.XXX)"
+cp -rT "$store_src" "$src"
+chmod -R +w "$src"
+
+pushd "$src"
+
+mkdir ./nuget_tmp.packages
+dotnet restore DiscordChatExporter.Cli/DiscordChatExporter.Cli.csproj --packages ./nuget_tmp.packages
+
+echo "{ fetchNuGet }: [" >"$deps_file"
+while read pkg_spec; do
+  { read pkg_name; read pkg_version; } < <(
+    # Build version part should be ignored: `3.0.0-beta2.20059.3+77df2220` -> `3.0.0-beta2.20059.3`
+    sed -nE 's/.*<id>([^<]*).*/\1/p; s/.*<version>([^<+]*).*/\1/p' "$pkg_spec")
+  pkg_sha256="$(nix-hash --type sha256 --flat --base32 "$(dirname "$pkg_spec")"/*.nupkg)"
+  cat >>"$deps_file" <<EOF
+  (fetchNuGet {
+    name = "$pkg_name";
+    version = "$pkg_version";
+    sha256 = "$pkg_sha256";
+  })
+EOF
+done < <(find ./nuget_tmp.packages -name '*.nuspec' | sort)
+echo "]" >>"$deps_file"
+
+popd
+rm -r "$src"
diff --git a/nixpkgs/pkgs/tools/backup/partclone/default.nix b/nixpkgs/pkgs/tools/backup/partclone/default.nix
index 54108a0c038f..06c207471577 100644
--- a/nixpkgs/pkgs/tools/backup/partclone/default.nix
+++ b/nixpkgs/pkgs/tools/backup/partclone/default.nix
@@ -1,21 +1,21 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook
-, pkg-config, libuuid, e2fsprogs, nilfs-utils, ntfs3g
+, pkg-config, libuuid, e2fsprogs, nilfs-utils, ntfs3g, openssl
 }:
 
 stdenv.mkDerivation rec {
   pname = "partclone";
-  version = "0.3.11";
+  version = "0.3.17";
 
   src = fetchFromGitHub {
     owner = "Thomas-Tsai";
     repo = "partclone";
     rev = version;
-    sha256 = "0bv15i0gxym4dv48rgaavh8p94waryn1l6viis6qh5zm9cd08skg";
+    sha256 = "sha256-tMdBo26JvHxbVI/Y2KDMejH+YT4IVx2H/y36u9ss0C8=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
   buildInputs = [
-    e2fsprogs libuuid stdenv.cc.libc nilfs-utils ntfs3g
+    e2fsprogs libuuid stdenv.cc.libc nilfs-utils ntfs3g openssl
     (lib.getOutput "static" stdenv.cc.libc)
   ];
 
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with lib; {
     description = "Utilities to save and restore used blocks on a partition";
     longDescription = ''
       Partclone provides utilities to save and restore used blocks on a
@@ -43,8 +43,8 @@ stdenv.mkDerivation rec {
       ext2 partition.
     '';
     homepage = "https://partclone.org";
-    license = lib.licenses.gpl2;
-    maintainers = [lib.maintainers.marcweber];
-    platforms = lib.platforms.linux;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ marcweber ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/backup/rotate-backups/default.nix b/nixpkgs/pkgs/tools/backup/rotate-backups/default.nix
index c0a06e1b9ae5..405fc6c3955d 100644
--- a/nixpkgs/pkgs/tools/backup/rotate-backups/default.nix
+++ b/nixpkgs/pkgs/tools/backup/rotate-backups/default.nix
@@ -1,17 +1,33 @@
-{ lib, buildPythonPackage, fetchFromGitHub, update-dotdee, simpleeval, dateutil }:
+{ lib
+, python3
+, fetchFromGitHub
+}:
 
-buildPythonPackage rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "rotate-backups";
-  version = "6.0";
+  version = "8.1";
 
   src = fetchFromGitHub {
     owner = "xolox";
     repo = "python-rotate-backups";
     rev = version;
-    sha256 = "0i59qfv1cfm0ss63ab2nrkn5wr4rxpqqmvfd7pf9c3pl9dbfq20c";
+    sha256 = "0r4dyd7hj403rksgp3vh1azp9n4af75r3wq3x39wxcqizpms3vkx";
   };
 
-  propagatedBuildInputs = [ update-dotdee simpleeval dateutil ];
+  propagatedBuildInputs = with python3.pkgs; [
+    python-dateutil
+    simpleeval
+    update-dotdee
+  ];
+
+  checkInputs = with python3.pkgs; [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # https://github.com/xolox/python-rotate-backups/issues/33
+    "test_removal_command"
+  ];
 
   meta = with lib; {
     description = "Simple command line interface for backup rotation";
@@ -20,4 +36,3 @@ buildPythonPackage rec {
     maintainers = with maintainers; [ eyjhb ];
   };
 }
-
diff --git a/nixpkgs/pkgs/tools/backup/tarsnapper/default.nix b/nixpkgs/pkgs/tools/backup/tarsnapper/default.nix
index b02ce82291aa..a5ad2c3625c1 100644
--- a/nixpkgs/pkgs/tools/backup/tarsnapper/default.nix
+++ b/nixpkgs/pkgs/tools/backup/tarsnapper/default.nix
@@ -17,7 +17,7 @@ python3Packages.buildPythonApplication rec {
     py.test .
   '';
 
-  propagatedBuildInputs = with python3Packages; [ pyyaml dateutil pexpect ];
+  propagatedBuildInputs = with python3Packages; [ pyyaml python-dateutil pexpect ];
 
   patches = [ ./remove-argparse.patch ];
 
diff --git a/nixpkgs/pkgs/tools/bluetooth/blueberry/default.nix b/nixpkgs/pkgs/tools/bluetooth/blueberry/default.nix
index 9ff8394f0048..95413986e8a4 100644
--- a/nixpkgs/pkgs/tools/bluetooth/blueberry/default.nix
+++ b/nixpkgs/pkgs/tools/bluetooth/blueberry/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "blueberry";
-  version = "1.4.3";
+  version = "1.4.4";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "sha256-UkF50AIFKkvjUHJiemR0Hj5ECZeHQU6beIw2TGrOlbk=";
+    sha256 = "sha256-dz0uGesyuQVXI7aEONCeOsa2vVw5yuStSFPnrqv2VcM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/cd-dvd/isomd5sum/default.nix b/nixpkgs/pkgs/tools/cd-dvd/isomd5sum/default.nix
index 2ca14cc4d603..9cb033e15d13 100644
--- a/nixpkgs/pkgs/tools/cd-dvd/isomd5sum/default.nix
+++ b/nixpkgs/pkgs/tools/cd-dvd/isomd5sum/default.nix
@@ -14,7 +14,9 @@ stdenv.mkDerivation rec {
     sha256 = "1wjnh2hlp1hjjm4a8wzdhdrm73jq41lmpmy3ls0rh715p3j7z4q9";
   };
 
-  buildInputs = [ python3 popt ] ;
+  strictDeps = true;
+  nativeBuildInputs = [ python3 ];
+  buildInputs = [ popt ] ;
 
   postPatch = ''
     substituteInPlace Makefile --replace "#/usr/" "#"
diff --git a/nixpkgs/pkgs/tools/filesystems/ceph/default.nix b/nixpkgs/pkgs/tools/filesystems/ceph/default.nix
index a25bf744a91a..0ccc96ce1885 100644
--- a/nixpkgs/pkgs/tools/filesystems/ceph/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/ceph/default.nix
@@ -38,7 +38,7 @@
 
 # Linux Only Dependencies
 , linuxHeaders, util-linux, libuuid, udev, keyutils, rdma-core, rabbitmq-c
-, libaio ? null, libxfs ? null, zfs ? null
+, libaio ? null, libxfs ? null, zfs ? null, liburing ? null
 , ...
 }:
 
@@ -130,7 +130,9 @@ let
     ps.Mako
     ceph-common
     ps.cherrypy
-    ps.dateutil
+    ps.cmd2
+    ps.colorama
+    ps.python-dateutil
     ps.jsonpatch
     ps.pecan
     ps.prettytable
@@ -176,7 +178,7 @@ in rec {
       snappy lz4 oathToolkit leveldb libnl libcap_ng rdkafka
       cryptsetup sqlite lua icu bzip2
     ] ++ lib.optionals stdenv.isLinux [
-      linuxHeaders util-linux libuuid udev keyutils optLibaio optLibxfs optZfs
+      linuxHeaders util-linux libuuid udev keyutils liburing optLibaio optLibxfs optZfs
       # ceph 14
       rdma-core rabbitmq-c
     ] ++ lib.optionals hasRadosgw [
@@ -207,11 +209,12 @@ in rec {
       "-DMGR_PYTHON_VERSION=${ceph-python-env.python.pythonVersion}"
       "-DWITH_SYSTEMD=OFF"
       "-DWITH_TESTS=OFF"
+      "-DWITH_CEPHFS_SHELL=ON"
       # TODO breaks with sandbox, tries to download stuff with npm
       "-DWITH_MGR_DASHBOARD_FRONTEND=OFF"
       # WITH_XFS has been set default ON from Ceph 16, keeping it optional in nixpkgs for now
       ''-DWITH_XFS=${if optLibxfs != null then "ON" else "OFF"}''
-    ];
+    ] ++ lib.optional stdenv.isLinux "-DWITH_SYSTEM_LIBURING=ON";
 
     postFixup = ''
       wrapPythonPrograms
diff --git a/nixpkgs/pkgs/tools/filesystems/exfatprogs/default.nix b/nixpkgs/pkgs/tools/filesystems/exfatprogs/default.nix
new file mode 100644
index 000000000000..88e50a2adc3a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/filesystems/exfatprogs/default.nix
@@ -0,0 +1,23 @@
+{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, file }:
+
+stdenv.mkDerivation rec {
+  pname = "exfatprogs";
+  version = "1.1.2";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = version;
+    sha256 = "19pbybgbfnvjb3n944ihrn1r8ch4dm8dr0d44d6w7p63dcp372xy";
+  };
+
+  nativeBuildInputs = [ pkg-config autoreconfHook file ];
+
+  meta = with lib; {
+    description = "exFAT filesystem userspace utilities";
+    homepage = "https://github.com/exfatprogs/exfatprogs";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ zane ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/filesystems/glusterfs/default.nix b/nixpkgs/pkgs/tools/filesystems/glusterfs/default.nix
index d7906e5cc23b..9933498d07e5 100644
--- a/nixpkgs/pkgs/tools/filesystems/glusterfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/glusterfs/default.nix
@@ -55,13 +55,13 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "glusterfs";
-  version = "9.2";
+  version = "9.3";
 
   src = fetchFromGitHub {
     owner = "gluster";
     repo = pname;
     rev = "v${version}";
-    sha256 = "00y2xs7nj4d59x4fp6gq7qql3scykq9lppdvx7y3xbgfmkrwixx9";
+    sha256 = "sha256-xV7griN453f63jwX5jTdW0KJdLi14Km7JengbNeh4iI=";
   };
   inherit buildInputs propagatedBuildInputs;
 
diff --git a/nixpkgs/pkgs/tools/games/weidu/default.nix b/nixpkgs/pkgs/tools/games/weidu/default.nix
new file mode 100644
index 000000000000..d325746dc8ca
--- /dev/null
+++ b/nixpkgs/pkgs/tools/games/weidu/default.nix
@@ -0,0 +1,65 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, elkhound
+, ocaml-ng
+, perl
+, which
+}:
+
+let
+  # 1. Needs ocaml >= 4.04 and <= 4.11
+  # 2. ocaml 4.10 defaults to safe (immutable) strings so we need a version with
+  #    that disabled as weidu is strongly dependent on mutable strings
+  ocaml' = ocaml-ng.ocamlPackages_4_10.ocaml.overrideAttrs (old: {
+    configureFlags = old.configureFlags ++ [
+      # https://github.com/WeiDUorg/weidu/issues/197
+      "--disable-force-safe-string"
+    ];
+  });
+
+in
+stdenv.mkDerivation rec {
+  pname = "weidu";
+  version = "247.00";
+
+  src = fetchFromGitHub {
+    owner = "WeiDUorg";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-vAIIYn0urQnnL82mdfwJtahrS3uWPFferm+0F13TKcw=";
+  };
+
+  postPatch = ''
+    substitute sample.Configuration Configuration \
+      --replace /usr/bin ${lib.makeBinPath [ ocaml' ]} \
+      --replace elkhound ${elkhound}/bin/elkhound
+
+    mkdir -p obj/{.depend,x86_LINUX}
+  '';
+
+  nativeBuildInputs = [ elkhound ocaml' perl which ];
+
+  buildFlags = [ "weidu" "weinstall" "tolower" ];
+
+  installPhase = ''
+    runHook preInstall
+
+    for b in tolower weidu weinstall; do
+      install -Dm555 $b.asm.exe $out/bin/$b
+    done
+
+    install -Dm444 -t $out/share/doc/weidu README* COPYING
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "InfinityEngine Modding Engine";
+    homepage = "https://weidu.org";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ peterhoeg ];
+    # should work fine on both Darwin and Windows
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/graphics/adriconf/default.nix b/nixpkgs/pkgs/tools/graphics/adriconf/default.nix
new file mode 100644
index 000000000000..74ff4f1ed666
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/adriconf/default.nix
@@ -0,0 +1,41 @@
+{ stdenv
+, lib
+, fetchFromGitLab
+, cmake
+, pkg-config
+, libdrm
+, libGL
+, atkmm
+, pcre
+, gtkmm3
+, boost
+, libxmlxx3
+, mesa
+, pciutils
+}:
+
+stdenv.mkDerivation rec {
+  pname = "adriconf";
+  version = "2.4.1";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.freedesktop.org";
+    owner = "mesa";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "hZy+FpKKBKuho/fALu2O+44zzK6s/M8CTbhrO00ANgo=";
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+  buildInputs = [ libdrm libGL atkmm pcre gtkmm3 boost libxmlxx3 mesa pciutils ];
+
+  cmakeFlags = [ "-DENABLE_UNIT_TESTS=off" ];
+
+  meta = with lib; {
+    homepage = "https://gitlab.freedesktop.org/mesa/adriconf/";
+    description = "A GUI tool used to configure open source graphics drivers";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ musfay ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/graphics/gifsicle/default.nix b/nixpkgs/pkgs/tools/graphics/gifsicle/default.nix
index c05a552f2051..b200f487b232 100644
--- a/nixpkgs/pkgs/tools/graphics/gifsicle/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/gifsicle/default.nix
@@ -7,11 +7,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "gifsicle";
-  version = "1.92";
+  version = "1.93";
 
   src = fetchurl {
     url = "https://www.lcdf.org/gifsicle/${pname}-${version}.tar.gz";
-    sha256 = "0rffpzxcak19k6cngpxn73khvm3z1gswrqs90ycdzzb53p05ddas";
+    sha256 = "sha256-kvZweXMr9MHaCH5q4JBSBYRuWsd3ulyqZtEqc6qUNEc=";
   };
 
   buildInputs = optionals gifview [ xorgproto libXt libX11 ];
diff --git a/nixpkgs/pkgs/tools/graphics/graphviz/base.nix b/nixpkgs/pkgs/tools/graphics/graphviz/base.nix
index 1a387042b2d5..f225f2196cc8 100644
--- a/nixpkgs/pkgs/tools/graphics/graphviz/base.nix
+++ b/nixpkgs/pkgs/tools/graphics/graphviz/base.nix
@@ -2,7 +2,7 @@
 
 { lib, stdenv, fetchFromGitLab, autoreconfHook, pkg-config, cairo, expat, flex
 , fontconfig, gd, gettext, gts, libdevil, libjpeg, libpng, libtool, pango
-, bison, fetchpatch, xorg ? null, ApplicationServices }:
+, bison, fetchpatch, xorg, ApplicationServices, python3 }:
 
 let
   inherit (lib) optional optionals optionalString;
@@ -41,7 +41,7 @@ stdenv.mkDerivation {
     inherit sha256 rev;
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config ];
+  nativeBuildInputs = [ autoreconfHook pkg-config python3 ];
 
   buildInputs = [
     libpng libjpeg expat bison libtool fontconfig gd gts libdevil flex pango
diff --git a/nixpkgs/pkgs/tools/graphics/graphviz/default.nix b/nixpkgs/pkgs/tools/graphics/graphviz/default.nix
index c79fe3aaf4d5..0662205d17e9 100644
--- a/nixpkgs/pkgs/tools/graphics/graphviz/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/graphviz/default.nix
@@ -1,5 +1,5 @@
 import ./base.nix rec {
-  rev = "da4c2ec6f24ca1b6d1752c6b5bc4389e55682147"; # use rev as tags have disappeared before
-  version = "2.42.2";
-  sha256 = "0lacl11amyvj04j78m63qifljl4c0nkyy50z4bkg8mg9j4hjdy0x";
+  rev = "a11eb938514725493324d18db1686f9a99c8569f"; # use rev as tags have disappeared before
+  version = "2.47.2";
+  sha256 = "sha256-6JFjM/2xl7KVmGhSr6RWgO23UwLDyAif3ONsBG4t/Wc=";
  }
diff --git a/nixpkgs/pkgs/tools/graphics/ploticus/builder.sh b/nixpkgs/pkgs/tools/graphics/ploticus/builder.sh
deleted file mode 100644
index 2fb16b259bdc..000000000000
--- a/nixpkgs/pkgs/tools/graphics/ploticus/builder.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-source $stdenv/setup
-
-preBuild() {
-  cd src
-}
-
-preInstall() {
-  mkdir -p $out/bin
-}
-
-postInstall() {
-  # Install the "prefabs".
-  mkdir -p $out/share/ploticus/prefabs &&		\
-  cd .. &&						\
-  cp -rv prefabs/* $out/share/ploticus/prefabs
-
-  # Create a wrapper that knows where to find them.  Debian's package
-  # does something similar by patching directly the C file that looks
-  # for `$PLOTICUS_PREFABS'.
-  cat > $out/bin/ploticus <<EOF
-#! $SHELL -e
-PLOTICUS_PREFABS="$out/share/ploticus/prefabs"
-export PLOTICUS_PREFABS
-exec "$out/bin/pl" \$@
-EOF
-  chmod +x $out/bin/ploticus
-
-  # Install the man pages.
-  cp -rv man $out
-  ln -s "$out/man/man1/pl.1" "$out/man/man1/ploticus.1"
-}
-
-genericBuild
diff --git a/nixpkgs/pkgs/tools/graphics/ploticus/default.nix b/nixpkgs/pkgs/tools/graphics/ploticus/default.nix
index 23d6919f78e0..50b7aad48a04 100644
--- a/nixpkgs/pkgs/tools/graphics/ploticus/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/ploticus/default.nix
@@ -1,34 +1,74 @@
-{lib, stdenv, fetchurl, zlib, libX11, libpng}:
+{ lib
+, stdenv
+, fetchurl
+, zlib
+, libX11
+, libpng
+, gd
+, freetype
+}:
 
-stdenv.mkDerivation {
-  name = "ploticus-2.42";
+stdenv.mkDerivation rec {
+  pname = "ploticus";
+  version = "2.42";
 
-  builder = ./builder.sh;
   src = fetchurl {
-    url = "mirror://sourceforge/ploticus/ploticus/2.41/pl241src.tar.gz";
-    sha256 = "1065r0nizjixi9sxxfxrnwg10r458i6fgsd23nrxa200rypvdk7c";
+    url = "mirror://sourceforge/ploticus/ploticus/${version}/ploticus${lib.replaceStrings [ "." ] [ "" ] version}_src.tar.gz";
+    sha256 = "PynkufQFIDqT7+yQDlgW2eG0OBghiB4kHAjKt91m4LA=";
   };
 
-  buildInputs = [ zlib libX11 libpng ];
+  patches = [
+    # Replace hardcoded FHS path with $out.
+    ./ploticus-install.patch
+
+    # Set the location of the PREFABS directory.
+    ./set-prefabs-dir.patch
+
+    # Use gd from Nixpkgs instead of the vendored one.
+    # This is required for non-ASCII fonts to work:
+    # http://ploticus.sourceforge.net/doc/fonts.html
+    ./use-gd-package.patch
+  ];
+
+  buildInputs = [
+    zlib
+    libX11
+    libpng
+    gd
+    freetype
+  ];
 
   hardeningDisable = [ "format" ];
 
-  patches = [ ./ploticus-install.patch ];
+  preBuild = ''
+    cd src
+  '';
+
+  preInstall = ''
+    mkdir -p "$out/bin"
+  '';
+
+  postInstall = ''
+    cd ..
+
+    # Install the “prefabs”.
+    mkdir -p "$out/share/ploticus/prefabs"
+    cp -rv prefabs/* "$out/share/ploticus/prefabs"
 
-  # Make the symlink relative instead of absolute.
-  # Otherwise it breaks when auto-moved to $out/share.
-  preFixup = ''
-    ln -sf pl.1 "$out"/man/man1/ploticus.1
+    # Add aliases for backwards compatibility.
+    ln -s "pl" "$out/bin/ploticus"
   '';
 
   meta = with lib; {
     description = "A non-interactive software package for producing plots and charts";
-    longDescription = ''Ploticus is a free, GPL'd, non-interactive
+    longDescription = ''
+      Ploticus is a free, GPL'd, non-interactive
       software package for producing plots, charts, and graphics from
       data.  Ploticus is good for automated or just-in-time graph
       generation, handles date and time data nicely, and has basic
       statistical capabilities.  It allows significant user control
-      over colors, styles, options and details.'';
+      over colors, styles, options and details.
+    '';
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ pSub ];
     homepage = "http://ploticus.sourceforge.net/";
diff --git a/nixpkgs/pkgs/tools/graphics/ploticus/set-prefabs-dir.patch b/nixpkgs/pkgs/tools/graphics/ploticus/set-prefabs-dir.patch
new file mode 100644
index 000000000000..82871654fdea
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/ploticus/set-prefabs-dir.patch
@@ -0,0 +1,11 @@
+--- a/src/pl.h
++++ b/src/pl.h
+@@ -8,7 +8,7 @@
+ #include <stdlib.h>
+ #include "plg.h"
+ 
+-#define PREFABS_DIR ""  	 /* INSTALLERS can set this to a valid pathname, so that users don't need to set PLOTICUS_PREFABS env var */
++#define PREFABS_DIR "@out@/share/ploticus/prefabs"  	 /* INSTALLERS can set this to a valid pathname, so that users don't need to set PLOTICUS_PREFABS env var */
+ 
+ #define PLVERSION "2.42-May2013" /* see also the Copyright page, and page headers and footers */
+ 
diff --git a/nixpkgs/pkgs/tools/graphics/ploticus/use-gd-package.patch b/nixpkgs/pkgs/tools/graphics/ploticus/use-gd-package.patch
new file mode 100644
index 000000000000..9a72489ddaad
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/ploticus/use-gd-package.patch
@@ -0,0 +1,34 @@
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -91,10 +91,10 @@
+ 
+ 
+ ########### Option 1: use bundled GD16 (PNG only).  Requires libpng and zlib.
+-exetarget: plpng 
+-GD16LIBS = -lpng -lz
+-GD16H =  -I/usr/local/include
+-ZFLAG = -DWZ
++# exetarget: plpng 
++# GD16LIBS = -lpng -lz
++# GD16H =  -I/usr/local/include
++# ZFLAG = -DWZ
+ ### These should remain commented unless your libs are not in usual places, then alter to suit...
+ ### GD16LIBS = /home/scg/lib/libpng.a /home/scg/lib/libz.a
+ ### GD16H = -I/home/scg/lib
+@@ -111,11 +111,11 @@
+ 
+ ########### Option 4: use your own GD resource with FreeType2 (ttf) fonts enabled.  
+ ###########           Requires GD 1.84+, libpng, zlib, libjpeg and libfreetype
+-# exetarget: plgd18 
+-# GD18LIBS = -lgd -lpng -lz -ljpeg -lfreetype
+-# GD18H = 
+-# GDFREETYPE = -DGDFREETYPE
+-# ZFLAG = -DWZ
++exetarget: plgd18 
++GD18LIBS = -lgd -lpng -lz -ljpeg -lfreetype
++GD18H = 
++GDFREETYPE = -DGDFREETYPE
++ZFLAG = -DWZ
+ 
+ ########### Option 5: don't use GD at all.
+ # exetarget: plnogd 
diff --git a/nixpkgs/pkgs/tools/graphics/xcolor/default.nix b/nixpkgs/pkgs/tools/graphics/xcolor/default.nix
index f19a80357f35..1e8f3fd78d72 100644
--- a/nixpkgs/pkgs/tools/graphics/xcolor/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/xcolor/default.nix
@@ -1,4 +1,4 @@
-{ lib, rustPlatform, fetchFromGitHub, pkg-config, libX11, libXcursor, libxcb, python3 }:
+{ lib, rustPlatform, fetchFromGitHub, fetchpatch, pkg-config, libX11, libXcursor, libxcb, python3 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "xcolor";
@@ -11,7 +11,15 @@ rustPlatform.buildRustPackage rec {
     sha256 = "sha256-rHqK05dN5lrvDNbRCWGghI7KJwWzNCuRDEThEeMzmio=";
   };
 
-  cargoSha256 = "sha256-lHOT/P1Sh1b53EkPIQM3l9Tozdqh60qlUDdjthj32jM=";
+  cargoPatches = [
+    # Update Cargo.lock, lexical_core doesn't build on Rust 1.52.1
+    (fetchpatch {
+      url = "https://github.com/Soft/xcolor/commit/324d80a18a39a11f2f7141b226f492e2a862d2ce.patch";
+      sha256 = "sha256-5VzXitpl/gMef40UQBh1EoHezXPyB08aflqp0mSMAVI=";
+    })
+  ];
+
+  cargoSha256 = "sha256-yD4pX+dCJvbDecsdB8tNt1VsEcyAJxNrB5WsZUhPGII=";
 
   nativeBuildInputs = [ pkg-config python3 ];
 
diff --git a/nixpkgs/pkgs/tools/graphics/yaxg/default.nix b/nixpkgs/pkgs/tools/graphics/yaxg/default.nix
index 349303346f42..9d83ae71d333 100644
--- a/nixpkgs/pkgs/tools/graphics/yaxg/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/yaxg/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, makeWrapper,
-  maim, slop, ffmpeg_3, byzanz, libnotify, xdpyinfo }:
+  maim, slop, ffmpeg, byzanz, libnotify, xdpyinfo }:
 
 stdenv.mkDerivation rec {
   pname = "yaxg";
@@ -13,13 +13,13 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ maim slop ffmpeg_3 byzanz libnotify xdpyinfo ];
+  buildInputs = [ maim slop ffmpeg byzanz libnotify xdpyinfo ];
 
   installPhase = ''
     mkdir -p $out/bin/
     mv yaxg $out/bin/
     chmod +x $out/bin/yaxg
-    wrapProgram $out/bin/yaxg --prefix PATH : ${ lib.makeBinPath [ maim slop ffmpeg_3 byzanz libnotify xdpyinfo ]}
+    wrapProgram $out/bin/yaxg --prefix PATH : ${ lib.makeBinPath [ maim slop ffmpeg byzanz libnotify xdpyinfo ]}
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix
index ea82ccaf96b7..44a44b3af2bf 100644
--- a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix
@@ -1,70 +1,64 @@
 { lib, stdenv, fetchFromGitHub, which, ninja, pkg-config, protobuf
 , ibus, gtk2, zinnia, qt5, libxcb, tegaki-zinnia-japanese, python3Packages }:
 
-let
-  japanese_usage_dictionary = fetchFromGitHub {
-    owner  = "hiroyuki-komatsu";
-    repo   = "japanese-usage-dictionary";
-    rev    = "e5b3425575734c323e1d947009dd74709437b684";
-    sha256 = "0pyrpz9c8nxccwpgyr36w314mi8h132cis8ijvlqmmhqxwsi30hm";
-  };
-in stdenv.mkDerivation rec {
-  name = "ibus-mozc-${version}";
-  version = "2.23.4206.102";
-
-  meta = with lib; {
-    isIbusEngine = true;
-    description  = "Japanese input method from Google";
-    homepage     = "https://github.com/google/mozc";
-    license      = licenses.free;
-    platforms    = platforms.linux;
-    maintainers  = with maintainers; [ gebner ericsagnes ];
-  };
-
-  nativeBuildInputs = [ which ninja python3Packages.python python3Packages.six
-                        python3Packages.gyp pkg-config qt5.wrapQtAppsHook ];
-  buildInputs = [ protobuf ibus gtk2 zinnia qt5.qtbase libxcb ];
+stdenv.mkDerivation rec {
+  pname = "ibus-mozc";
+  version = "2.26.4423.100";
 
   src = fetchFromGitHub {
-    owner  = "google";
-    repo   = "mozc";
-    rev    = "91cc1e19ef34aeb12888b697fefa52907f1a834d";
-    sha256 = "1fyy9g1pnaq6s5nkf56aqmp5mgyibbmp1ylc64fqc6g1plg90zk2";
+    owner = "google";
+    repo = "mozc";
+    rev = "7654223979067e3c5ae52ea238d43880c5508f85";
+    sha256 = "aZVuhj4I9ZCsVR9dOplOd9zinYMgYw5SF5wG3IxBTO0=";
     fetchSubmodules = true;
   };
 
-  postUnpack = ''
-    rm -rf $sourceRoot/src/third_party/japanese_usage_dictionary/
-    ln -s ${japanese_usage_dictionary} $sourceRoot/src/third_party/japanese_usage_dictionary
-  '' + lib.optionalString stdenv.isLinux ''
+  nativeBuildInputs = [
+    which ninja python3Packages.python python3Packages.six
+    python3Packages.gyp pkg-config qt5.wrapQtAppsHook
+  ];
+
+  buildInputs = [ protobuf ibus gtk2 zinnia qt5.qtbase libxcb ];
+
+  postUnpack = lib.optionalString stdenv.isLinux ''
     sed -i 's/-lc++/-lstdc++/g' $sourceRoot/src/gyp/common.gypi
   '';
 
   configurePhase = ''
+    runHook preConfigure
+
     export GYP_DEFINES="document_dir=$out/share/doc/mozc use_libzinnia=1 use_libprotobuf=1 ibus_mozc_path=$out/lib/ibus-mozc/ibus-engine-mozc zinnia_model_file=${tegaki-zinnia-japanese}/share/tegaki/models/zinnia/handwriting-ja.model"
     cd src && python build_mozc.py gyp --gypdir=${python3Packages.gyp}/bin --server_dir=$out/lib/mozc
+
+    runHook postConfigure
   '';
 
   buildPhase = ''
+    runHook preBuild
+
     PYTHONPATH="$PWD:$PYTHONPATH" python build_mozc.py build -c Release \
       unix/ibus/ibus.gyp:ibus_mozc \
       unix/emacs/emacs.gyp:mozc_emacs_helper \
       server/server.gyp:mozc_server \
       gui/gui.gyp:mozc_tool \
       renderer/renderer.gyp:mozc_renderer
+
+    runHook postBuild
   '';
 
   installPhase = ''
+    runHook preInstall
+
     install -d        $out/share/licenses/mozc
     head -n 29 server/mozc_server.cc > $out/share/licenses/mozc/LICENSE
-    install -m 644    data/installer/*.html     $out/share/licenses/mozc/
+    install -m 644    data/installer/*.html $out/share/licenses/mozc/
 
     install -D -m 755 out_linux/Release/mozc_server $out/lib/mozc/mozc_server
     install    -m 755 out_linux/Release/mozc_tool   $out/lib/mozc/mozc_tool
     wrapQtApp $out/lib/mozc/mozc_tool
 
     install -d        $out/share/doc/mozc
-    install -m 644    data/installer/*.html         $out/share/doc/mozc/
+    install -m 644    data/installer/*.html $out/share/doc/mozc/
 
     install -D -m 755 out_linux/Release/ibus_mozc           $out/lib/ibus-mozc/ibus-engine-mozc
     install -D -m 644 out_linux/Release/gen/unix/ibus/mozc.xml $out/share/ibus/component/mozc.xml
@@ -79,5 +73,16 @@ in stdenv.mkDerivation rec {
     install    -m 644 data/images/unix/ui-alpha_half.png    $out/share/ibus-mozc/alpha_half.png
     install    -m 644 data/images/unix/ui-alpha_full.png    $out/share/ibus-mozc/alpha_full.png
     install -D -m 755 out_linux/Release/mozc_renderer       $out/lib/mozc/mozc_renderer
+
+    runHook postInstall
   '';
+
+  meta = with lib; {
+    isIbusEngine = true;
+    description = "Japanese input method from Google";
+    homepage = "https://github.com/google/mozc";
+    license = licenses.free;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ gebner ericsagnes ];
+  };
 }
diff --git a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-rime/default.nix b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-rime/default.nix
index d444d44f2337..af3fcbe4e2cc 100644
--- a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-rime/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-rime/default.nix
@@ -1,36 +1,36 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, gdk-pixbuf, glib, ibus, libnotify
-, librime, brise }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, gdk-pixbuf
+, glib
+, ibus
+, libnotify
+, librime
+, pkg-config
+, rime-data
+}:
 
 stdenv.mkDerivation rec {
   pname = "ibus-rime";
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "rime";
     repo = "ibus-rime";
     rev = version;
-    sha256 = "0zbajz7i18vrqwdyclzywvsjg6qzaih64jhi3pkxp7mbw8jc5vhy";
+    sha256 = "0gdxg6ia0i31jn3cvh1nrsjga1j31hf8a2zfgg8rzn25chrfr319";
   };
 
-  buildInputs = [ gdk-pixbuf glib ibus libnotify librime brise ];
+  buildInputs = [ gdk-pixbuf glib ibus libnotify librime rime-data ];
   nativeBuildInputs = [ cmake pkg-config ];
 
-  makeFlags = [ "PREFIX=$(out)" ];
-  dontUseCmakeConfigure = true;
+  cmakeFlags = [ "-DRIME_DATA_DIR=${rime-data}/share/rime-data" ];
 
   prePatch = ''
-    substituteInPlace Makefile \
-       --replace 'cmake' 'cmake -DRIME_DATA_DIR=${brise}/share/rime-data'
-
-    substituteInPlace rime_config.h \
-       --replace '/usr' $out
-
-    substituteInPlace rime_config.h \
-       --replace 'IBUS_RIME_SHARED_DATA_DIR IBUS_RIME_INSTALL_PREFIX' \
-                 'IBUS_RIME_SHARED_DATA_DIR "${brise}"'
-
-    substituteInPlace rime.xml \
-       --replace '/usr' $out
+    substituteInPlace CMakeLists.txt \
+       --replace 'DESTINATION "''${RIME_DATA_DIR}"' \
+                 'DESTINATION "''${CMAKE_INSTALL_DATADIR}/rime-data"'
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/misc/apt-offline/default.nix b/nixpkgs/pkgs/tools/misc/apt-offline/default.nix
index 9c952cc7c302..3dc3fa1bbe24 100644
--- a/nixpkgs/pkgs/tools/misc/apt-offline/default.nix
+++ b/nixpkgs/pkgs/tools/misc/apt-offline/default.nix
@@ -1,22 +1,39 @@
-{ lib, fetchFromGitHub, python3Packages }:
+{ lib, fetchFromGitHub, python3Packages, unstableGitUpdater, gnupg }:
 
 python3Packages.buildPythonApplication rec {
-  version = "1.8.1";
   pname = "apt-offline";
+  version = "unstable-2021-04-11";
 
   src = fetchFromGitHub {
     owner = "rickysarraf";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "0k79d1d8jiwg1s684r05njmk1dz8gsb8a9bl4agz7m31snc11j84";
+    rev = "4e4b3281d004d1ece4833b7680e2b5b091402a03";
+    sha256 = "1lk4186h2wc8fphd592rhq7yj4kgc7jjawx4pjrs6pg4n0q32pl6";
   };
 
+  postPatch = ''
+    substituteInPlace org.debian.apt.aptoffline.policy \
+      --replace /usr/bin/ "$out/bin"
+
+    substituteInPlace apt_offline_core/AptOfflineCoreLib.py \
+      --replace /usr/bin/gpgv "${gnupg}/bin/gpgv"
+  '';
+
+  preFixup = ''
+    rm "$out/bin/apt-offline-gui"
+    rm "$out/bin/apt-offline-gui-pkexec"
+  '';
+
   doCheck = false;
 
-  # Requires python-qt4 (feel free to get it working).
-  preFixup = ''rm "$out/bin/apt-offline-gui"'';
+  pythonimportsCheck = [ "apt-offline" ];
+
+  passthru.updateScript = unstableGitUpdater {
+    url = "https://github.com/rickysarraf/apt-offline.git";
+  };
 
   meta = with lib; {
+    homepage = "https://github.com/rickysarraf/apt-offline";
     description = "Offline APT package manager";
     license = licenses.gpl3;
     maintainers = [ ];
diff --git a/nixpkgs/pkgs/tools/misc/barman/default.nix b/nixpkgs/pkgs/tools/misc/barman/default.nix
index da79110f9a82..ef84981a9d95 100644
--- a/nixpkgs/pkgs/tools/misc/barman/default.nix
+++ b/nixpkgs/pkgs/tools/misc/barman/default.nix
@@ -1,5 +1,5 @@
 { buildPythonApplication, fetchurl, lib
-, dateutil, argcomplete, argh, psycopg2, boto3
+, python-dateutil, argcomplete, argh, psycopg2, boto3
 }:
 
 buildPythonApplication rec {
@@ -12,7 +12,7 @@ buildPythonApplication rec {
     sha256 = "Ts8I6tlP2GRp90OIIKXy+cRWWvUO3Sm86zq2dtVP5YE=";
   };
 
-  propagatedBuildInputs = [ dateutil argh psycopg2 boto3 argcomplete ];
+  propagatedBuildInputs = [ python-dateutil argh psycopg2 boto3 argcomplete ];
 
   # Tests are not present in tarball
   checkPhase = ''
diff --git a/nixpkgs/pkgs/tools/misc/beats/default.nix b/nixpkgs/pkgs/tools/misc/beats/default.nix
index 1e6f155f3506..3e471c76fdfe 100644
--- a/nixpkgs/pkgs/tools/misc/beats/default.nix
+++ b/nixpkgs/pkgs/tools/misc/beats/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "beats";
-  version = "1.0";
+  version = "1.1";
 
   src = fetchFromGitHub {
     owner = "j0hax";
     repo = "beats";
     rev = "v${version}";
-    sha256 = "0qs5cmbncqhs11m4whqmrh2gvv3p3b37qz57xh78x2ma8jbhskqz";
+    sha256 = "1rdvsqrjpily74y8vwch711401585xckb4p41cfwrmj6vf44jhif";
   };
 
   makeFlags = [ "PREFIX=$(out)" ];
diff --git a/nixpkgs/pkgs/tools/misc/broot/default.nix b/nixpkgs/pkgs/tools/misc/broot/default.nix
index d1f9ca80f705..a5c456c00501 100644
--- a/nixpkgs/pkgs/tools/misc/broot/default.nix
+++ b/nixpkgs/pkgs/tools/misc/broot/default.nix
@@ -75,7 +75,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "An interactive tree view, a fuzzy search, a balanced BFS descent and customizable commands";
     homepage = "https://dystroy.org/broot/";
-    maintainers = with maintainers; [ danieldk ];
+    maintainers = with maintainers; [ ];
     license = with licenses; [ mit ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/chezmoi/default.nix b/nixpkgs/pkgs/tools/misc/chezmoi/default.nix
index 4d69f237a08c..5d9790ec2be0 100644
--- a/nixpkgs/pkgs/tools/misc/chezmoi/default.nix
+++ b/nixpkgs/pkgs/tools/misc/chezmoi/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "chezmoi";
-  version = "2.0.15";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "twpayne";
     repo = "chezmoi";
     rev = "v${version}";
-    sha256 = "sha256-PUcsDyszFT4DzTwvbcCO8FQErvmotmY7gREZ2sgpcw8=";
+    sha256 = "sha256-TEY3oEAWnS+iuLgAgR9mp1TaEb+wzlAgN41dgLRdUs4=";
   };
 
-  vendorSha256 = "sha256-7SfqBxCfOYwePK/6SsWS5StuVr0png6WjQXIDuQW0EE=";
+  vendorSha256 = "sha256-pr6bMO1klq/V9zkBftLleSRTg3zjl24EuA283M88HY4=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/misc/complete-alias/default.nix b/nixpkgs/pkgs/tools/misc/complete-alias/default.nix
new file mode 100644
index 000000000000..721e99427bb6
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/complete-alias/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, fetchFromGitHub
+, stdenvNoCC
+}:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "complete-alias";
+  version = "1.10.0";
+
+  src = fetchFromGitHub {
+    owner = "cykerway";
+    repo = pname;
+    rev = version;
+    sha256 = "1s0prdnmb2qnzc8d7ddldzqa53yc10qq0lbgx2l9dzmz8pdwylyc";
+  };
+
+  buildPhase = ''
+    runHook preBuild
+
+    # required for the patchShebangs setup hook
+    chmod +x complete_alias
+
+    patchShebangs complete_alias
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    cp -r complete_alias "$out"/bin
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Automagical shell alias completion";
+    homepage = "https://github.com/cykerway/complete-alias";
+    license = licenses.lgpl3Only;
+    maintainers = with maintainers; [ tuxinaut ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/cpufetch/default.nix b/nixpkgs/pkgs/tools/misc/cpufetch/default.nix
index 37a6dfdc9dd5..4473738ac76c 100644
--- a/nixpkgs/pkgs/tools/misc/cpufetch/default.nix
+++ b/nixpkgs/pkgs/tools/misc/cpufetch/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cpufetch";
-  version = "0.94";
+  version = "0.98";
 
   src = fetchFromGitHub {
     owner  = "Dr-Noob";
     repo   = "cpufetch";
     rev    = "v${version}";
-    sha256 = "1gncgkhqd8bnz254qa30yyl10qm28dwx6aif0dwrj38z5ql40ck9";
+    sha256 = "060hmkwmb5ybcrj9jfx9681zk92489kq71nl6nacn8nfqrcn3qdb";
   };
 
   nativeBuildInputs = [ installShellFiles ];
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     mkdir $out
     install -Dm755 cpufetch   $out/bin/cpufetch
     install -Dm644 LICENSE    $out/share/licenses/cpufetch/LICENSE
-    installManPage cpufetch.8
+    installManPage cpufetch.1
 
     runHook postInstall
   '';
diff --git a/nixpkgs/pkgs/tools/misc/desktop-file-utils/default.nix b/nixpkgs/pkgs/tools/misc/desktop-file-utils/default.nix
index 09c0e0d25c60..da87d048b709 100644
--- a/nixpkgs/pkgs/tools/misc/desktop-file-utils/default.nix
+++ b/nixpkgs/pkgs/tools/misc/desktop-file-utils/default.nix
@@ -14,6 +14,11 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ glib libintl ];
 
+  postPatch = ''
+    substituteInPlace src/install.c \
+      --replace \"update-desktop-database\" \"$out/bin/update-desktop-database\"
+  '';
+
   setupHook = ./setup-hook.sh;
 
   meta = {
diff --git a/nixpkgs/pkgs/tools/misc/expect/default.nix b/nixpkgs/pkgs/tools/misc/expect/default.nix
index 03e8e260ac6b..5a792c040b39 100644
--- a/nixpkgs/pkgs/tools/misc/expect/default.nix
+++ b/nixpkgs/pkgs/tools/misc/expect/default.nix
@@ -25,10 +25,9 @@ tcl.mkTclDerivation rec {
   strictDeps = true;
   hardeningDisable = [ "format" ];
 
-  postInstall = lib.optionalString stdenv.isDarwin ''
-    for i in $out/bin/*; do
-      wrapProgram $i --prefix DYLD_LIBRARY_PATH : $out/lib/expect${version}
-    done
+  postInstall = ''
+    tclWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ tcl ]})
+    ${lib.optionalString stdenv.isDarwin "tclWrapperArgs+=(--prefix DYLD_LIBRARY_PATH : $out/lib/expect${version})"}
   '';
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/tools/misc/flashrom/default.nix b/nixpkgs/pkgs/tools/misc/flashrom/default.nix
index 66a8b213403c..e4e4868e4d9f 100644
--- a/nixpkgs/pkgs/tools/misc/flashrom/default.nix
+++ b/nixpkgs/pkgs/tools/misc/flashrom/default.nix
@@ -19,11 +19,17 @@ stdenv.mkDerivation rec {
     sha256 = "0ax4kqnh7kd3z120ypgp73qy1knz47l6qxsqzrfkd97mh5cdky71";
   };
 
+  postPatch = ''
+    substituteInPlace util/z60_flashrom.rules \
+      --replace "plugdev" "flashrom"
+  '';
+
   # Meson build doesn't build and install manpage. Only Makefile can.
   # Build manpage from source directory. Here we're inside the ./build subdirectory
   postInstall = ''
     make flashrom.8 -C ..
     installManPage ../flashrom.8
+    install -Dm644 ../util/z60_flashrom.rules $out/etc/udev/rules.d/flashrom.rules
   '';
 
   mesonFlags = lib.optionals stdenv.isAarch64 [ "-Dpciutils=false" ];
@@ -34,7 +40,7 @@ stdenv.mkDerivation rec {
     homepage = "http://www.flashrom.org";
     description = "Utility for reading, writing, erasing and verifying flash ROM chips";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ funfunctor fpletz ];
+    maintainers = with maintainers; [ funfunctor fpletz felixsinger ];
     platforms = platforms.all;
     broken = stdenv.isDarwin; # requires DirectHW
   };
diff --git a/nixpkgs/pkgs/tools/misc/fluent-bit/default.nix b/nixpkgs/pkgs/tools/misc/fluent-bit/default.nix
index 5a5ad121b391..fe7599ac815c 100644
--- a/nixpkgs/pkgs/tools/misc/fluent-bit/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fluent-bit/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, flex, bison }:
+{ lib, stdenv, fetchFromGitHub, cmake, flex, bison, systemd }:
 
 stdenv.mkDerivation rec {
   pname = "fluent-bit";
@@ -13,11 +13,17 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake flex bison ];
 
+  buildInputs = lib.optionals stdenv.isLinux [ systemd ];
+
+  cmakeFlags = [ "-DFLB_METRICS=ON" "-DFLB_HTTP_SERVER=ON" ];
+
   patches = lib.optionals stdenv.isDarwin [ ./fix-luajit-darwin.patch ];
 
   # _FORTIFY_SOURCE requires compiling with optimization (-O)
   NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isGNU "-O";
 
+  outputs = [ "out" "dev" ];
+
   postPatch = ''
     substituteInPlace src/CMakeLists.txt \
       --replace /lib/systemd $out/lib/systemd
@@ -26,9 +32,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Log forwarder and processor, part of Fluentd ecosystem";
     homepage = "https://fluentbit.io";
-    maintainers = with maintainers; [
-      samrose
-    ];
+    maintainers = with maintainers; [ samrose fpletz ];
     license = licenses.asl20;
     platforms = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/tools/misc/goaccess/default.nix b/nixpkgs/pkgs/tools/misc/goaccess/default.nix
index 6f0c90517da4..051e61e7af81 100644
--- a/nixpkgs/pkgs/tools/misc/goaccess/default.nix
+++ b/nixpkgs/pkgs/tools/misc/goaccess/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, ncurses, gettext, openssl, withGeolocation ? true, libmaxminddb }:
 
 stdenv.mkDerivation rec {
-  version = "1.5";
+  version = "1.5.1";
   pname = "goaccess";
 
   src = fetchurl {
     url = "https://tar.goaccess.io/goaccess-${version}.tar.gz";
-    sha256 = "sha256-liJtXfiXAyg+NBCcF+G07v4kBKWefHaitu76EPOqwWE=";
+    sha256 = "sha256-iEF+eOYrcN45gLdiKRHk/NcZw2YPADyIeWjnGWw5lw8=";
   };
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/tools/misc/goreleaser/default.nix b/nixpkgs/pkgs/tools/misc/goreleaser/default.nix
index f5ed58f84fd2..34195c2fffe0 100644
--- a/nixpkgs/pkgs/tools/misc/goreleaser/default.nix
+++ b/nixpkgs/pkgs/tools/misc/goreleaser/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "goreleaser";
-  version = "0.172.0";
+  version = "0.173.1";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-QHtxrdmtmvnyMmtpvbEw5VjGz2XN1iqHu+5dHS9yiNo=";
+    sha256 = "sha256-v3Sln1qtYDdWCWJSKErxUoPAUzwWrTYM0j5X+mz+1xo=";
   };
 
-  vendorSha256 = "sha256-Zd48I7e5zCbSXz5RVckMXQMpqvf6gAoajx5yLk2ODmU=";
+  vendorSha256 = "sha256-yX8Ffdzq22JHA2owtHurH8AEgqPgPjz+N06oD5ZiZmM=";
 
   buildFlagsArray = [
     "-ldflags="
diff --git a/nixpkgs/pkgs/tools/misc/infracost/default.nix b/nixpkgs/pkgs/tools/misc/infracost/default.nix
index 286bc4cbca28..abe1872c67fd 100644
--- a/nixpkgs/pkgs/tools/misc/infracost/default.nix
+++ b/nixpkgs/pkgs/tools/misc/infracost/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "infracost";
-  version = "0.9.1";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "infracost";
     rev = "v${version}";
     repo = "infracost";
-    sha256 = "sha256-3dR4NZ1PiMuHNO+xl3zxeBLPOZTLAbJ0VtYJNYpJuXI=";
+    sha256 = "sha256-TM+7Am5hoiRk/StAwCh5yAN1GKv3oPun38pvhArBoJg=";
   };
 
-  vendorSha256 = "sha256-YHewZsIiDPsgJVYwQX/FovlD+UzJflXy/0oglk8ZkKk=";
+  vendorSha256 = "sha256-6sMtM7MTFTDXwH8AKr5Dxq8rPqE92xzcWqBTixcPi+8=";
 
   checkInputs = [ terraform ];
   checkPhase = "make test";
diff --git a/nixpkgs/pkgs/tools/misc/kepubify/default.nix b/nixpkgs/pkgs/tools/misc/kepubify/default.nix
index 546dcb112a86..b1ece43154fe 100644
--- a/nixpkgs/pkgs/tools/misc/kepubify/default.nix
+++ b/nixpkgs/pkgs/tools/misc/kepubify/default.nix
@@ -2,18 +2,21 @@
 
 buildGoModule rec {
   pname = "kepubify";
-  version = "3.1.6";
+  version = "4.0.0";
 
   src = fetchFromGitHub {
     owner = "pgaskin";
     repo = pname;
     rev = "v${version}";
-    sha256 = "129izxgvhcybipfgcwzzwsir9zhi7axxadnw822zy5rk2ky4zjpk";
+    sha256 = "sha256-Mxe43U0kxkSdAzs+lSJ0x/VspbJPam59DpTpFEJVMl4=";
   };
 
-  vendorSha256 = "0vwzm1c4kada7mqdkr444gj8c2vkvz7av9wkpgdpjrq0v2h0hpcc";
+  vendorSha256 = "sha256-bLQH7ZY2hE8fBTcW7DNoUQxe4N3m9Mv3JjjKO4cG7DY=";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+  # remove when built with >= go 1.17
+  buildFlags = [ "-tags" "zip117" ];
+
+  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   excludedPackages = [ "kobotest" ];
 
diff --git a/nixpkgs/pkgs/tools/misc/latex2html/default.nix b/nixpkgs/pkgs/tools/misc/latex2html/default.nix
index 5bb4f41a5de8..126d5bd4c49b 100644
--- a/nixpkgs/pkgs/tools/misc/latex2html/default.nix
+++ b/nixpkgs/pkgs/tools/misc/latex2html/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "latex2html";
-  version = "2021";
+  version = "2021.2";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-n7VbK/S9EkWxb4fbIXp3tIfX7N+9bvZ/odBylqTuzUU=";
+    sha256 = "sha256-WxMB70TeN53S6PNYDUVZ7lBKw7DvKnJDiHek9/GUYcA=";
   };
 
   buildInputs = [ ghostscript netpbm perl ];
diff --git a/nixpkgs/pkgs/tools/misc/lnav/default.nix b/nixpkgs/pkgs/tools/misc/lnav/default.nix
index 4d9364ff23e4..373687fafdf1 100644
--- a/nixpkgs/pkgs/tools/misc/lnav/default.nix
+++ b/nixpkgs/pkgs/tools/misc/lnav/default.nix
@@ -2,15 +2,14 @@
 , readline, zlib, bzip2, autoconf, automake, curl }:
 
 stdenv.mkDerivation rec {
-
-  name = "lnav-${meta.version}";
+  pname = "lnav";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "tstack";
     repo = "lnav";
-    rev = "v${meta.version}";
+    rev = "v${version}";
     sha256 = "1frdrr3yjlk2fns3ny0qbr30rpswhwlvv3kyhdl3l6a0q5cqaqsg";
-    inherit name;
   };
 
   buildInputs = [
@@ -47,7 +46,6 @@ stdenv.mkDerivation rec {
     '';
     downloadPage = "https://github.com/tstack/lnav/releases";
     license = licenses.bsd2;
-    version = "0.9.0";
     maintainers = with maintainers; [ dochang ma27 ];
     platforms = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/tools/misc/macchina/default.nix b/nixpkgs/pkgs/tools/misc/macchina/default.nix
index 4558b88a2d47..053240e21190 100644
--- a/nixpkgs/pkgs/tools/misc/macchina/default.nix
+++ b/nixpkgs/pkgs/tools/misc/macchina/default.nix
@@ -3,16 +3,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "macchina";
-  version = "0.8.21";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "Macchina-CLI";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-cwQCqKC/onEZ4i533NSHrnNAl8/sRivK/ItX8oqB86Q=";
+    sha256 = "sha256:0d6nqjn2828kk91430yjl6xlwx1j10xhp2i0vv2slm3wv0a4w24x";
   };
 
-  cargoSha256 = "sha256-W29k2eLcYTqVn0v1dJrvFLRcWuVMsoHD+vPDL7YkiWE=";
+  cargoSha256 = "sha256:0mjqqd43jj6hxicgjkvmdf966vj5xf0ndibszzwp38zdb5kzshqi";
 
   nativeBuildInputs = [ installShellFiles ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Foundation ];
diff --git a/nixpkgs/pkgs/tools/misc/mslink/default.nix b/nixpkgs/pkgs/tools/misc/mslink/default.nix
index 56354ff25275..6db1ae3275c5 100644
--- a/nixpkgs/pkgs/tools/misc/mslink/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mslink/default.nix
@@ -1,9 +1,9 @@
-{ stdenv
+{ gccStdenv
 , lib
 , fetchurl
 }:
 
-stdenv.mkDerivation rec {
+gccStdenv.mkDerivation rec {
   pname = "mslink";
   version = "1.3";
 
@@ -17,6 +17,9 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
+    if [[ "$(uname)" == "Darwin" ]]; then
+      mv mslink.exe mslink
+    fi
     install -D mslink $out/bin/mslink
   '';
 
diff --git a/nixpkgs/pkgs/tools/misc/ncdu/default.nix b/nixpkgs/pkgs/tools/misc/ncdu/default.nix
index 1237645ebaec..66429f338ac1 100644
--- a/nixpkgs/pkgs/tools/misc/ncdu/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ncdu/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ncdu";
-  version = "1.15.1";
+  version = "1.16";
 
   src = fetchurl {
     url = "https://dev.yorhel.nl/download/${pname}-${version}.tar.gz";
-    sha256 = "1c1zxalm5asyhn4p1hd51h7khw17515gbqmvdz63kc8xpx6xqbdh";
+    sha256 = "1m0gk09jaz114piidiw8fkg0id5l6nhz1cg5nlaf1yl3l595g49b";
   };
 
   buildInputs = [ ncurses ];
diff --git a/nixpkgs/pkgs/tools/misc/onefetch/default.nix b/nixpkgs/pkgs/tools/misc/onefetch/default.nix
index a80fdd568643..6e7484a7e40d 100644
--- a/nixpkgs/pkgs/tools/misc/onefetch/default.nix
+++ b/nixpkgs/pkgs/tools/misc/onefetch/default.nix
@@ -1,18 +1,26 @@
-{ fetchFromGitHub, rustPlatform, lib, stdenv, fetchpatch
-, CoreFoundation, libiconv, libresolv, Security }:
+{ fetchFromGitHub
+, rustPlatform
+, lib
+, stdenv
+, fetchpatch
+, CoreFoundation
+, libiconv
+, libresolv
+, Security
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "onefetch";
-  version = "2.9.1";
+  version = "2.10.2";
 
   src = fetchFromGitHub {
     owner = "o2sh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-owa+HmzMXpLR7H1FssW4gQiVAQGJRXhcitgJj6pxJRc=";
+    sha256 = "sha256-lrRp01ZeK9bGn7L7SqAxJAU9qugpHnC06CWChhVPGGQ=";
   };
 
-  cargoSha256 = "sha256-Bn2FlRESuW83ouGPiBwvGkIB0uCDDG0hdhRfRBks/0Q=";
+  cargoSha256 = "sha256-vNa1OF1x/MCTo9B4DTDZNWyHTsOl7Za3EgjnpsL/gWg=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreFoundation libiconv libresolv Security ];
 
@@ -20,6 +28,6 @@ rustPlatform.buildRustPackage rec {
     description = "Git repository summary on your terminal";
     homepage = "https://github.com/o2sh/onefetch";
     license = licenses.mit;
-    maintainers = with maintainers; [ Br1ght0ne kloenk ];
+    maintainers = with maintainers; [ Br1ght0ne kloenk SuperSandro2000 ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/pdd/default.nix b/nixpkgs/pkgs/tools/misc/pdd/default.nix
index 916f15c94c6e..8403a6c25752 100644
--- a/nixpkgs/pkgs/tools/misc/pdd/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pdd/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitHub, buildPythonApplication, dateutil }:
+{ lib, fetchFromGitHub, buildPythonApplication, python-dateutil }:
 
 buildPythonApplication rec {
   pname = "pdd";
@@ -13,7 +13,7 @@ buildPythonApplication rec {
 
   format = "other";
 
-  propagatedBuildInputs = [ dateutil ];
+  propagatedBuildInputs = [ python-dateutil ];
 
   installFlags = [ "PREFIX=$(out)" ];
 
diff --git a/nixpkgs/pkgs/tools/misc/pgcenter/default.nix b/nixpkgs/pkgs/tools/misc/pgcenter/default.nix
index c27252cc7069..e1fed81b2db6 100644
--- a/nixpkgs/pkgs/tools/misc/pgcenter/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pgcenter/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "pgcenter";
-  version = "0.9.0";
+  version = "0.9.1";
 
   src = fetchFromGitHub {
     owner  = "lesovsky";
     repo   = "pgcenter";
     rev    = "v${version}";
-    sha256 = "0l3da7migx1gprhlwc98x30qh6lmrn8hizanxgs3hxl0arbrn710";
+    sha256 = "18s102hv6qqlx0nra91srdlb5fyv6x3hwism6c2r6zbxh68pgsag";
   };
 
   vendorSha256 = "0mgq9zl56wlr37dxxa1sh53wfkhrl9ybjvxj5y9djspqkp4j45pn";
diff --git a/nixpkgs/pkgs/tools/misc/piston-cli/default.nix b/nixpkgs/pkgs/tools/misc/piston-cli/default.nix
index ec77007804b9..5e1ca0242bc6 100644
--- a/nixpkgs/pkgs/tools/misc/piston-cli/default.nix
+++ b/nixpkgs/pkgs/tools/misc/piston-cli/default.nix
@@ -9,7 +9,7 @@ python3Packages.buildPythonApplication rec {
     sha256 = "qvDGVJcaMXUajdUQWl4W1dost8k0PsS9XX/o8uQrtfY=";
   };
 
-  propagatedBuildInputs = with python3Packages; [ rich prompt_toolkit requests pygments pyyaml ];
+  propagatedBuildInputs = with python3Packages; [ rich prompt_toolkit requests pygments pyyaml more-itertools ];
 
   checkPhase = ''
     $out/bin/piston --help > /dev/null
diff --git a/nixpkgs/pkgs/tools/misc/pubs/default.nix b/nixpkgs/pkgs/tools/misc/pubs/default.nix
index 3b6df828fda0..36afc1d4cbb0 100644
--- a/nixpkgs/pkgs/tools/misc/pubs/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pubs/default.nix
@@ -12,7 +12,7 @@ python3Packages.buildPythonApplication rec {
   };
 
   propagatedBuildInputs = with python3Packages; [
-    argcomplete dateutil configobj feedparser bibtexparser pyyaml requests six
+    argcomplete python-dateutil configobj feedparser bibtexparser pyyaml requests six
     beautifulsoup4
   ];
 
diff --git a/nixpkgs/pkgs/tools/misc/qmk/default.nix b/nixpkgs/pkgs/tools/misc/qmk/default.nix
index 40e5d4d23aea..3fa088d8e2b4 100644
--- a/nixpkgs/pkgs/tools/misc/qmk/default.nix
+++ b/nixpkgs/pkgs/tools/misc/qmk/default.nix
@@ -3,38 +3,59 @@
 , fetchpatch
 }:
 
-python3.pkgs.buildPythonApplication rec {
+let
+  inherit (python3.pkgs) buildPythonApplication fetchPypi;
+in
+buildPythonApplication rec {
   pname = "qmk";
-  version = "0.0.45";
+  version = "0.0.52";
 
-  src = python3.pkgs.fetchPypi {
+  src = fetchPypi {
     inherit pname version;
-    sha256 = "43f297f36b21d68c34c5efa0ce1449dddb2e28753f80939cadf761ee7a2a0901";
+    sha256 = "sha256-mNF+bRhaL6JhNbROmjYDHkKKokRIALd5FZbRt9Kg5XQ=";
   };
 
-  patches = [
-    # https://github.com/qmk/qmk_cli/pull/48
-    (fetchpatch {
-      name = "remove-unused-install-requires.patch";
-      url = "https://github.com/qmk/qmk_cli/commit/75b6ada1feccfa5a9bc2bb07a4cc749ef40d02dd.patch";
-      sha256 = "0lwi1dz35p07vha5gwq2jxm5q49vm99ix4jyhd6g6ypqbq1qiwc8";
-    })
-  ];
-
   nativeBuildInputs = with python3.pkgs; [
+    flake8
+    nose2
+    pep8-naming
     setuptools-scm
+    yapf
   ];
 
   propagatedBuildInputs = with python3.pkgs; [
+    appdirs
+    argcomplete
+    colorama
+    dotty-dict
+    hid
+    hjson
+    jsonschema
     milc
+    pygments
+    pyusb
   ];
 
   # no tests implemented
   doCheck = false;
 
   meta = with lib; {
-    description = "A program to help users work with QMK Firmware";
     homepage = "https://github.com/qmk/qmk_cli";
+    description = "A program to help users work with QMK Firmware";
+    longDescription = ''
+      qmk_cli is a companion tool to QMK firmware. With it, you can:
+
+      - Interact with your qmk_firmware tree from any location
+      - Use qmk clone to pull down anyone's qmk_firmware fork
+      - Setup and work with your build environment:
+        - qmk setup
+        - qmk doctor
+        - qmk compile
+        - qmk console
+        - qmk flash
+        - qmk lint
+      - ... and many more!
+    '';
     license = licenses.mit;
     maintainers = with maintainers; [ bhipple ];
   };
diff --git a/nixpkgs/pkgs/tools/misc/rauc/default.nix b/nixpkgs/pkgs/tools/misc/rauc/default.nix
index 663768c1507c..41183a2f6e1e 100644
--- a/nixpkgs/pkgs/tools/misc/rauc/default.nix
+++ b/nixpkgs/pkgs/tools/misc/rauc/default.nix
@@ -35,6 +35,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ curl dbus glib json-glib openssl ];
 
   configureFlags = [
+    "--with-systemdunitdir=${placeholder "out"}/lib/systemd/system"
     "--with-dbusinterfacesdir=${placeholder "out"}/share/dbus-1/interfaces"
     "--with-dbuspolicydir=${placeholder "out"}/share/dbus-1/systemd.d"
     "--with-dbussystemservicedir=${placeholder "out"}/share/dbus-1/system-services"
diff --git a/nixpkgs/pkgs/tools/misc/tmuxp/default.nix b/nixpkgs/pkgs/tools/misc/tmuxp/default.nix
index 9e97f0d892bf..5820cbbba2c0 100644
--- a/nixpkgs/pkgs/tools/misc/tmuxp/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tmuxp/default.nix
@@ -1,36 +1,32 @@
-{ lib, python }:
+{ lib, python3Packages }:
 
-with python.pkgs;
+let
+  pypkgs = python3Packages;
 
-buildPythonApplication rec {
+in
+pypkgs.buildPythonApplication rec {
   pname = "tmuxp";
-  version = "1.7.2";
+  version = "1.9.2";
 
-  src = fetchPypi {
+  src = pypkgs.fetchPypi {
     inherit pname version;
-    sha256 = "14296b62db260420d4600dcd805408ea908b3a78d4ea0a6a403d092fdbf6d075";
+    sha256 = "sha256-3RlTbIq7UGvEESMvncq97bhjJw8O4m+0aFVZgBQOwkM=";
   };
 
-  postPatch = ''
-    sed -i 's/==.*$//' requirements/base.txt requirements/test.txt
-  '';
-
-  checkInputs = [
-    pytest
-    pytest-rerunfailures
-  ];
-
   # No tests in archive
   doCheck = false;
 
-  propagatedBuildInputs = [
-    click colorama kaptan libtmux
+  propagatedBuildInputs = with pypkgs; [
+    click
+    colorama
+    kaptan
+    libtmux
   ];
 
   meta = with lib; {
     description = "Manage tmux workspaces from JSON and YAML";
     homepage = "https://tmuxp.git-pull.com/";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ peterhoeg ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/topgrade/default.nix b/nixpkgs/pkgs/tools/misc/topgrade/default.nix
index 7677a756737e..0c1cea4beed7 100644
--- a/nixpkgs/pkgs/tools/misc/topgrade/default.nix
+++ b/nixpkgs/pkgs/tools/misc/topgrade/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "topgrade";
-  version = "7.0.1";
+  version = "7.1.0";
 
   src = fetchFromGitHub {
     owner = "r-darwish";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-86lBEtwybHrcm7G0ZIbfOHSZPBzNERHGqrTR4YbpDnE=";
+    sha256 = "sha256-MGu0rQhNEaToPY4o9fz9E3RlvcLKjDq76Mqoq4UeL08=";
   };
 
-  cargoSha256 = "sha256-yZIh01A1yC1ZeDDyXeh1C3abPfbW2JuJ7TIsVO1weZk=";
+  cargoSha256 = "sha256-Nx0Mw+V8Hgtioi77sk7p/lq6KGJQ3zRXWMNEIzT4Xn8=";
 
   buildInputs = lib.optional stdenv.isDarwin Foundation;
 
diff --git a/nixpkgs/pkgs/tools/misc/trash-cli/default.nix b/nixpkgs/pkgs/tools/misc/trash-cli/default.nix
index ff218eb10844..dbc00e13e1ae 100644
--- a/nixpkgs/pkgs/tools/misc/trash-cli/default.nix
+++ b/nixpkgs/pkgs/tools/misc/trash-cli/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "trash-cli";
-  version = "0.21.6.10.1";
+  version = "0.21.6.30";
 
   src = fetchFromGitHub {
     owner = "andreafrancia";
     repo = "trash-cli";
     rev = version;
-    sha256 = "0mhpzf3vmd876aldl5gazmk4si0zvrh0v1rwsz2hbrn0571zmzy9";
+    sha256 = "09vwg4jpx7pl7rd5ybq5ldgwky8zzf59msmzvmim9vipnmjgkxv7";
   };
 
   propagatedBuildInputs = [ python3Packages.psutil ];
diff --git a/nixpkgs/pkgs/tools/misc/tvnamer/default.nix b/nixpkgs/pkgs/tools/misc/tvnamer/default.nix
new file mode 100644
index 000000000000..204914c280c6
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/tvnamer/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, python3
+}:
+
+let
+  python' = python3.override {
+    packageOverrides = self: super: rec {
+      # tvdb_api v3.1.0 has a hard requirement on requests-cache < 0.6
+      requests-cache = super.requests-cache.overridePythonAttrs (super: rec {
+        version = "0.5.2";
+        src = self.fetchPypi {
+          inherit (super) pname;
+          inherit version;
+          sha256 = "sha256-gTAjJpaGBF+OAeIonMHn6a5asi3dHihJqQk6s6tycOs=";
+        };
+
+        # too many changes have been made to requests-cache based on version 0.6 so
+        # simply disable tests
+        doCheck = false;
+      });
+    };
+  };
+
+  pypkgs = python'.pkgs;
+
+in
+pypkgs.buildPythonApplication rec {
+  pname = "tvnamer";
+  version = "3.0.4";
+
+  src = pypkgs.fetchPypi {
+    inherit pname version;
+    sha256 = "dc2ea8188df6ac56439343630466b874c57756dd0b2538dd8e7905048f425f04";
+  };
+
+  propagatedBuildInputs = with pypkgs; [ tvdb_api ];
+
+  # no tests from pypi
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Automatic TV episode file renamer, uses data from thetvdb.com via tvdb_api.";
+    homepage = "https://github.com/dbr/tvnamer";
+    license = licenses.unlicense;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/uutils-coreutils/default.nix b/nixpkgs/pkgs/tools/misc/uutils-coreutils/default.nix
index b2d3883176c6..209a38cdcc10 100644
--- a/nixpkgs/pkgs/tools/misc/uutils-coreutils/default.nix
+++ b/nixpkgs/pkgs/tools/misc/uutils-coreutils/default.nix
@@ -5,6 +5,7 @@
 , cargo
 , sphinx
 , Security
+, libiconv
 , prefix ? "uutils-"
 , buildMulticallBinary ? true
 }:
@@ -34,7 +35,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ rustPlatform.cargoSetupHook sphinx ];
 
-  buildInputs = lib.optional stdenv.isDarwin Security;
+  buildInputs = lib.optionals stdenv.isDarwin [ Security libiconv ];
 
   makeFlags = [
     "CARGO=${cargo}/bin/cargo"
diff --git a/nixpkgs/pkgs/tools/misc/yajsv/default.nix b/nixpkgs/pkgs/tools/misc/yajsv/default.nix
new file mode 100644
index 000000000000..6e5f20bfbd2b
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/yajsv/default.nix
@@ -0,0 +1,28 @@
+{ buildGoModule, fetchFromGitHub, lib }:
+
+let version = "1.4.0";
+in buildGoModule {
+  pname = "yajsv";
+  version = version;
+
+  src = fetchFromGitHub {
+    owner = "neilpa";
+    repo = "yajsv";
+    rev = "v${version}";
+    sha256 = "0smaij3905fqgcjmnfs58r6silhp3hyv7ccshk7n13fmllmsm7v7";
+  };
+
+  vendorSha256 = "0rmc31i5jra2qcqhw1azflmhawxasrq0d6qwd6qp250sj1jr6ahq";
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    $out/bin/yajsv -v > /dev/null
+  '';
+
+  meta = {
+    description = "Yet Another JSON Schema Validator";
+    homepage = "https://github.com/neilpa/yajsv";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ rycee ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/yank/default.nix b/nixpkgs/pkgs/tools/misc/yank/default.nix
index 19a4ba986ff2..dbbe14cf3864 100644
--- a/nixpkgs/pkgs/tools/misc/yank/default.nix
+++ b/nixpkgs/pkgs/tools/misc/yank/default.nix
@@ -1,15 +1,14 @@
 { lib, stdenv, fetchFromGitHub, xsel }:
 
 stdenv.mkDerivation rec {
-
-  name = "yank-${meta.version}";
+  pname = "yank";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "mptre";
     repo = "yank";
-    rev = "v${meta.version}";
+    rev = "v${version}";
     sha256 = "1izygx7f1z35li74i2cwca0p28c3v8fbr7w72dwpiqdaiwywa8xc";
-    inherit name;
   };
 
   installFlags = [ "PREFIX=$(out)" ];
@@ -27,7 +26,6 @@ stdenv.mkDerivation rec {
     '';
     downloadPage = "https://github.com/mptre/yank/releases";
     license = licenses.mit;
-    version = "1.2.0";
     maintainers = [ maintainers.dochang ];
     platforms = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/tools/misc/ytmdl/default.nix b/nixpkgs/pkgs/tools/misc/ytmdl/default.nix
index 694ee44d5fa6..43f46bc05231 100644
--- a/nixpkgs/pkgs/tools/misc/ytmdl/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ytmdl/default.nix
@@ -1,9 +1,11 @@
-{ lib, fetchFromGitHub, buildPythonApplication, ffmpeg, ffmpeg-python, musicbrainzngs, rich, simber
-, pydes, youtube-search, unidecode, pyxdg, downloader-cli, beautifulsoup4, itunespy, mutagen, pysocks
-, youtube-dl, ytmusicapi
+{ lib
+, fetchFromGitHub
+, python3
+, fetchpatch
+, ffmpeg
 }:
 
-buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "ytmdl";
   version = "2021.06.26";
 
@@ -14,14 +16,23 @@ buildPythonApplication rec {
     sha256 = "1jpd5zhqg2m9vjjjw4mgzb594q1v1pq1yl65py6kw42bq9w5yl5p";
   };
 
+  patches = [
+    # Fixes https://github.com/deepjyoti30/ytmdl/issues/188
+    # Only needed until the next major release after 2021.06.26
+    (fetchpatch {
+      url = "https://github.com/deepjyoti30/ytmdl/commit/37ba821d9692249c1fa563505cf60bd11b8e209e.patch";
+      includes = [ "bin/ytmdl" ];
+      sha256 = "sha256-VqtthpUL0Oub3DK7tSvAnemOzPPTcLvXXeebZIGOgdc=";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace setup.py \
       --replace "bs4" "beautifulsoup4"
   '';
 
 
-  propagatedBuildInputs = [
-    ffmpeg
+  propagatedBuildInputs = with python3.pkgs; [
     ffmpeg-python
     musicbrainzngs
     rich
@@ -39,6 +50,10 @@ buildPythonApplication rec {
     ytmusicapi
   ];
 
+  makeWrapperArgs = [
+    "--prefix" "PATH" ":" (lib.makeBinPath [ ffmpeg ])
+  ];
+
   # This application has no tests
   doCheck = false;
 
@@ -46,7 +61,6 @@ buildPythonApplication rec {
     homepage = "https://github.com/deepjyoti30/ytmdl";
     description = "YouTube Music Downloader";
     license = licenses.mit;
-    platforms = platforms.all;
     maintainers = with maintainers; [ j0hax ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/zellij/default.nix b/nixpkgs/pkgs/tools/misc/zellij/default.nix
index e4fb7411a4a4..d55353682fdd 100644
--- a/nixpkgs/pkgs/tools/misc/zellij/default.nix
+++ b/nixpkgs/pkgs/tools/misc/zellij/default.nix
@@ -1,21 +1,29 @@
-{ lib, fetchFromGitHub, rustPlatform, stdenv, installShellFiles, libiconv }:
+{ lib
+, fetchFromGitHub
+, rustPlatform
+, stdenv
+, installShellFiles
+, pkg-config
+, libiconv
+, openssl
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "zellij";
-  version = "0.13.0";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "zellij-org";
-    repo = pname;
+    repo = "zellij";
     rev = "v${version}";
-    sha256 = "sha256-m7rAlFMhkX6+l+OceZ/RnusdhGew+Rjp7AmZ7vo2wr0=";
+    sha256 = "sha256-1GG3Bvw3P77dLhvJKwq48TUWMwg+bDgzWmtrw2JixLg=";
   };
 
-  cargoSha256 = "sha256-iTPOlbS3gWlJ8E2VB7z/kOsOJcngPGof7R5cH3Z0xk0=";
+  cargoSha256 = "sha256-cqm4QCGy6eTKtEBlE2ihmh93eO7d47zlCrLY8Gp0dxM=";
 
-  nativeBuildInputs = [ installShellFiles ];
+  nativeBuildInputs = [ installShellFiles pkg-config ];
 
-  buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
+  buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ libiconv ];
 
   preCheck = ''
     HOME=$TMPDIR
diff --git a/nixpkgs/pkgs/tools/networking/amass/default.nix b/nixpkgs/pkgs/tools/networking/amass/default.nix
index 67dce4c2e8b7..bf8a1b8e4f83 100644
--- a/nixpkgs/pkgs/tools/networking/amass/default.nix
+++ b/nixpkgs/pkgs/tools/networking/amass/default.nix
@@ -5,7 +5,7 @@
 
 buildGoModule rec {
   pname = "amass";
-  version = "3.11.2";
+  version = "3.13.2";
 
   src = fetchFromGitHub {
     owner = "OWASP";
@@ -14,7 +14,7 @@ buildGoModule rec {
     sha256 = "sha256-3J4yT7GTuVzkxMb+fCD3S9u0XBHa4Y0W+BnkDJ4PhWI=";
   };
 
-  vendorSha256 = "sha256-8GzzihKhrf71lLKgb2i3NnmSctvKb95V5pOGoWAgclk=";
+  vendorSha256 = "0nbj41ha31lkwraxwvyavdr94y9nnxl6z85jjkszxbd12a5g6v7h";
 
   outputs = [ "out" "wordlists" ];
 
diff --git a/nixpkgs/pkgs/tools/networking/arping/default.nix b/nixpkgs/pkgs/tools/networking/arping/default.nix
index 4a5cae9bd3c4..54ea08ceaef5 100644
--- a/nixpkgs/pkgs/tools/networking/arping/default.nix
+++ b/nixpkgs/pkgs/tools/networking/arping/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook, libnet, libpcap }:
 
 stdenv.mkDerivation rec {
-  version = "2.21";
+  version = "2.22";
   pname = "arping";
 
   buildInputs = [ libnet libpcap ];
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner = "ThomasHabets";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "1i7rjn863bnq51ahbvypm1bkzhyshlm5b32yzdd9iaqyz7sa7pa7";
+    sha256 = "sha256-yFSLhhyz6i7xyJR8Ax8FnHFGNe/HE40YirkkeefBqC4=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/nixpkgs/pkgs/tools/networking/bore/default.nix b/nixpkgs/pkgs/tools/networking/bore/default.nix
new file mode 100644
index 000000000000..b22cdb0c2ae4
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/bore/default.nix
@@ -0,0 +1,47 @@
+{ lib, stdenv, rustPlatform, fetchFromBitbucket, llvmPackages, Libsystem, SystemConfiguration, installShellFiles }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "bore";
+  version = "0.3.3";
+
+  src = fetchFromBitbucket {
+    owner = "delan";
+    repo = "nonymous";
+    rev = version;
+    sha256 = "0gws1f625izrb3armh6bay1k8l9p9csl37jx03yss1r720k4vn2x";
+  };
+
+  cargoSha256 = "1n09gcp1y885lz6g2f73zw3fd0fmv7nwlvaqba2yl0kylzk7naa6";
+  cargoBuildFlags = "-p ${pname}";
+
+  # FIXME can’t test --all-targets and --doc in a single invocation
+  cargoTestFlags = "--features std --all-targets --workspace";
+
+  nativeBuildInputs = [ installShellFiles ]
+    ++ lib.optional stdenv.isDarwin llvmPackages.libclang;
+
+  buildInputs = lib.optionals stdenv.isDarwin [
+    Libsystem
+    SystemConfiguration
+  ];
+
+  LIBCLANG_PATH="${llvmPackages.libclang.lib}/lib";
+
+  postInstall = ''
+    installManPage $src/bore/doc/bore.1
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    printf '\0\0\0\0\0\0\0\0\0\0\0\0' \
+    | $out/bin/bore --decode \
+    | grep -q ';; NoError #0 Query 0 0 0 0 flags'
+  '';
+
+  meta = with lib; {
+    description = "DNS query tool";
+    homepage = "https://crates.io/crates/bore";
+    license = licenses.isc;
+    maintainers = [ maintainers.delan ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/boundary/default.nix b/nixpkgs/pkgs/tools/networking/boundary/default.nix
index ab26a39035ea..5c9abf578924 100644
--- a/nixpkgs/pkgs/tools/networking/boundary/default.nix
+++ b/nixpkgs/pkgs/tools/networking/boundary/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "boundary";
-  version = "0.3.0";
+  version = "0.4.0";
 
   src =
     let
@@ -14,9 +14,9 @@ stdenv.mkDerivation rec {
         x86_64-darwin = "darwin_amd64";
       };
       sha256 = selectSystem {
-        x86_64-linux = "sha256-vBXNDd9p9g1joBMcwt87uI/EIAeKa+QrndCh1kTwZyM=";
-        aarch64-linux = "sha256-Xompe1Q8Q3gAqpQQT04CWDx/f0Yc8HbnkZQbN+faB0g=";
-        x86_64-darwin = "sha256-cE4YrZPNAldCR31O3gI4W/y4RgV7+64yL15obb5uRcY=";
+        x86_64-linux = "sha256-xHvg2Kdm7hoJ7Dwh4pLXJE+EPcl9Zta/00IN3wRnOzU=";
+        aarch64-linux = "sha256-Kbr7tZjVcYiejy1CB9r10mqG+0serRx+mjPXds2/TJQ=";
+        x86_64-darwin = "sha256-a8e3gKTTsK5QRAYrB4/DtrFFGM2In73wKEcEMcbeUTI=";
       };
     in
     fetchzip {
diff --git a/nixpkgs/pkgs/tools/networking/cloud-custodian/default.nix b/nixpkgs/pkgs/tools/networking/cloud-custodian/default.nix
index a57d9f13d785..c5e1f7527dac 100644
--- a/nixpkgs/pkgs/tools/networking/cloud-custodian/default.nix
+++ b/nixpkgs/pkgs/tools/networking/cloud-custodian/default.nix
@@ -3,7 +3,7 @@
 , boto3
 , botocore
 , certifi
-, dateutil
+, python-dateutil
 , jsonpatch
 , jsonschema
 , pyyaml
@@ -26,7 +26,7 @@ buildPythonApplication rec {
     boto3
     botocore
     certifi
-    dateutil
+    python-dateutil
     jsonpatch
     jsonschema
     pyyaml
diff --git a/nixpkgs/pkgs/tools/networking/dnsproxy/default.nix b/nixpkgs/pkgs/tools/networking/dnsproxy/default.nix
index 093863f21c15..c28e94a8218c 100644
--- a/nixpkgs/pkgs/tools/networking/dnsproxy/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dnsproxy/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "dnsproxy";
-  version = "0.38.0";
+  version = "0.38.1";
 
   src = fetchFromGitHub {
     owner = "AdguardTeam";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-dltCZ6g5Ta/M2N95TRkdLRr3T0YeKdkY88zE306AtDg=";
+    sha256 = "sha256-H0K38SX/mKsVjdQEa6vzx5TNRhqqomYk28+5Wl5H0sA=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/tools/networking/getmail6/default.nix b/nixpkgs/pkgs/tools/networking/getmail6/default.nix
index ceec2bab490e..910758fcf207 100644
--- a/nixpkgs/pkgs/tools/networking/getmail6/default.nix
+++ b/nixpkgs/pkgs/tools/networking/getmail6/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "getmail6";
-  version = "6.17";
+  version = "6.18";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-pPf+98zoS1t59RoqbmS4V0OsTLMR37Wcsl9BSWuvc0k=";
+    sha256 = "sha256-n2ADzxkd7bO6cO8UioCdRdCqUu03G9jxs9biEZACSus=";
   };
 
   # needs a Docker setup
diff --git a/nixpkgs/pkgs/tools/networking/gobgp/default.nix b/nixpkgs/pkgs/tools/networking/gobgp/default.nix
index 96f806aad39f..98925489e548 100644
--- a/nixpkgs/pkgs/tools/networking/gobgp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/gobgp/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "gobgp";
-  version = "2.28.0";
+  version = "2.29.0";
 
   src = fetchFromGitHub {
     owner = "osrg";
     repo = "gobgp";
     rev = "v${version}";
-    sha256 = "sha256-AlAfs1wi3hS7cqAtGqfUgv5CIonu7TmXWgxL1zSBh54=";
+    sha256 = "sha256-DhSIf8fAG2Zf0mwJ/iMgQU5sugHK2jJ6WJPbFbA/mhM=";
   };
 
   vendorSha256 = "sha256-PWm7XnO6LPaU8g8ymmqRkQv2KSX9kLv9RVaa000mrTY=";
diff --git a/nixpkgs/pkgs/tools/networking/kea/default.nix b/nixpkgs/pkgs/tools/networking/kea/default.nix
index 8daa2f10d7e1..e852fdb1c2d4 100644
--- a/nixpkgs/pkgs/tools/networking/kea/default.nix
+++ b/nixpkgs/pkgs/tools/networking/kea/default.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   pname = "kea";
-  version = "1.9.8";
+  version = "1.9.9";
 
   src = fetchurl {
     url = "https://ftp.isc.org/isc/${pname}/${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-EAi1Ic3YEF0or37At48saKwmAczTwf5GtbEsQNopbl0=";
+    sha256 = "sha256-iVSWBR1+SkXlkwMii2PXpcxFSXYigz4lfNnMZBvS2kM=";
   };
 
   patches = [ ./dont-create-var.patch ];
diff --git a/nixpkgs/pkgs/tools/networking/modem-manager/default.nix b/nixpkgs/pkgs/tools/networking/modem-manager/default.nix
index 71ea50ea1726..2a99c127acbc 100644
--- a/nixpkgs/pkgs/tools/networking/modem-manager/default.nix
+++ b/nixpkgs/pkgs/tools/networking/modem-manager/default.nix
@@ -1,20 +1,34 @@
-{ lib, stdenv, fetchurl, glib, udev, libgudev, polkit, ppp, gettext, pkg-config
-, libmbim, libqmi, systemd, vala, gobject-introspection, dbus }:
+{ lib, stdenv, fetchurl, fetchpatch
+, glib, udev, libgudev, polkit, ppp, gettext, pkg-config, python3
+, libmbim, libqmi, systemd, vala, gobject-introspection, dbus
+}:
 
 stdenv.mkDerivation rec {
   pname = "modem-manager";
-  version = "1.14.12";
+  version = "1.16.6";
 
-  package = "ModemManager";
   src = fetchurl {
-    url = "https://www.freedesktop.org/software/${package}/${package}-${version}.tar.xz";
-    sha256 = "sha256-0QqXEZndwl3N8VbFasCOkWEsCVOdVlIueu1G1G5IO7E=";
+    url = "https://www.freedesktop.org/software/ModemManager/ModemManager-${version}.tar.xz";
+    sha256 = "05wn94x71qr36avxjzvyf56nj5illynnf9nn15b17lv61wkbd41a";
   };
 
+  patches = [
+    # Fix a broken test.
+    # https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/556
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/commit/a324667386f35df0c3b3bbf615fa0560d215485d.patch";
+      sha256 = "1xj9gfl6spbp4xdp6gn76k8zvzam5m6lgmbiwdn6ixffzhlfwi5l";
+    })
+  ];
+
   nativeBuildInputs = [ vala gobject-introspection gettext pkg-config ];
 
   buildInputs = [ glib udev libgudev polkit ppp libmbim libqmi systemd ];
 
+  installCheckInputs = [
+    python3 python3.pkgs.dbus-python python3.pkgs.pygobject3
+  ];
+
   configureFlags = [
     "--with-polkit"
     "--with-udev-base-dir=${placeholder "out"}/lib/udev"
@@ -26,19 +40,29 @@ stdenv.mkDerivation rec {
     "--with-systemd-journal"
   ];
 
-  preCheck = ''
+  postPatch = ''
+    patchShebangs tools/test-modemmanager-service.py
+  '';
+
+  # In Nixpkgs g-ir-scanner is patched to produce absolute paths, and
+  # that interferes with ModemManager's tests, causing them to try to
+  # load libraries from the install path, which doesn't usually exist
+  # when `make check' is run.  So to work around that, we run it as an
+  # install check instead, when those paths will have been created.
+  doInstallCheck = true;
+  preInstallCheck = ''
     export G_TEST_DBUS_DAEMON="${dbus.daemon}/bin/dbus-daemon"
+    patchShebangs tools/tests/test-wrapper.sh
   '';
+  installCheckTarget = "check";
 
   enableParallelBuilding = true;
 
-  doCheck = true;
-
   meta = with lib; {
     description = "WWAN modem manager, part of NetworkManager";
     homepage = "https://www.freedesktop.org/wiki/Software/ModemManager/";
     license = licenses.gpl2Plus;
-    maintainers = [ ];
+    maintainers = teams.freedesktop.members;
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/s3cmd/default.nix b/nixpkgs/pkgs/tools/networking/s3cmd/default.nix
index 15f6ff3dfa0c..888d6a05c67d 100644
--- a/nixpkgs/pkgs/tools/networking/s3cmd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/s3cmd/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonApplication, fetchFromGitHub, python_magic, dateutil }:
+{ lib, buildPythonApplication, fetchFromGitHub, python_magic, python-dateutil }:
 
 buildPythonApplication rec {
   pname = "s3cmd";
@@ -11,7 +11,7 @@ buildPythonApplication rec {
     sha256 = "0p6mbgai7f0c12pkw4s7d649gj1f8hywj60pscxvj9jsna3iifhs";
   };
 
-  propagatedBuildInputs = [ python_magic dateutil ];
+  propagatedBuildInputs = [ python_magic python-dateutil ];
 
   dontUseSetuptoolsCheck = true;
 
diff --git a/nixpkgs/pkgs/tools/networking/stevenblack-blocklist/default.nix b/nixpkgs/pkgs/tools/networking/stevenblack-blocklist/default.nix
index 2a907dcf1280..ebbaaa73fce1 100644
--- a/nixpkgs/pkgs/tools/networking/stevenblack-blocklist/default.nix
+++ b/nixpkgs/pkgs/tools/networking/stevenblack-blocklist/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchFromGitHub }:
 
 let
-  version = "3.7.10";
+  version = "3.7.13";
 in
 fetchFromGitHub {
   name = "stevenblack-blocklist-${version}";
@@ -9,7 +9,7 @@ fetchFromGitHub {
   owner = "StevenBlack";
   repo = "hosts";
   rev = version;
-  sha256 = "sha256-22k52aW7Uu41414tGOHViBM8zxAwoZYY5Mi/TJH9mtE=";
+  sha256 = "sha256-nSajiRDpcFp3MwnQPnoBVB/OWnhVqkeSmS7OBrfhMnw=";
 
   meta = with lib; {
     description = "Unified hosts file with base extensions";
diff --git a/nixpkgs/pkgs/tools/networking/stunnel/default.nix b/nixpkgs/pkgs/tools/networking/stunnel/default.nix
index f8b6c845a52e..befc1c3c3eef 100644
--- a/nixpkgs/pkgs/tools/networking/stunnel/default.nix
+++ b/nixpkgs/pkgs/tools/networking/stunnel/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "stunnel";
-  version = "5.58";
+  version = "5.59";
 
   src = fetchurl {
     url    = "https://www.stunnel.org/downloads/${pname}-${version}.tar.gz";
-    sha256 = "d4c14cc096577edca3f6a2a59c2f51869e35350b3988018ddf808c88e5973b79";
+    sha256 = "sha256-E3d232vo8XAfHNWQt3eZMuEjR5+5HlGSFxwWeYgVzp8=";
     # please use the contents of "https://www.stunnel.org/downloads/${name}.tar.gz.sha256",
     # not the output of `nix-prefetch-url`
   };
diff --git a/nixpkgs/pkgs/tools/networking/tcpdump/default.nix b/nixpkgs/pkgs/tools/networking/tcpdump/default.nix
index f1fe05276396..6726e5b751ab 100644
--- a/nixpkgs/pkgs/tools/networking/tcpdump/default.nix
+++ b/nixpkgs/pkgs/tools/networking/tcpdump/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tcpdump";
-  version = "4.99.0";
+  version = "4.99.1";
 
   src = fetchurl {
     url = "http://www.tcpdump.org/release/${pname}-${version}.tar.gz";
-    sha256 = "0hmqh2fx8rgs9v1mk3vpywj61xvkifz260q685xllxr8jmxg3wlc";
+    sha256 = "sha256-ebNphfsnAxRmGNh8Ss3j4Gi5HFU/uT8CGjN/F1/RDr4=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/networking/yggdrasil/default.nix b/nixpkgs/pkgs/tools/networking/yggdrasil/default.nix
index 8228132b5c84..506869238e57 100644
--- a/nixpkgs/pkgs/tools/networking/yggdrasil/default.nix
+++ b/nixpkgs/pkgs/tools/networking/yggdrasil/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "yggdrasil";
-  version = "0.3.16";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "yggdrasil-network";
     repo = "yggdrasil-go";
     rev = "v${version}";
-    sha256 = "sha256-uUF0zkgtzdMZB/GKOtawjn7AQBkRoiAEj9nUUmpQSVQ=";
+    sha256 = "sha256-sMcbOTLdmAXp3U2XeNM0hrwOTjzr+9B6IvAaVbjhuFY=";
   };
 
-  vendorSha256 = "sha256-619PSqd7pl3Akj/kzLQhDIp1adumBGhLrzQsZvMzC7w=";
+  vendorSha256 = "sha256-QQN8ePOQ7DT9KeuY4ohFuPtocuinh3Y3us6QMnCQ4gc=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-audit/default.nix b/nixpkgs/pkgs/tools/package-management/cargo-audit/default.nix
index 6fa0dd38127c..00b3a65be0d4 100644
--- a/nixpkgs/pkgs/tools/package-management/cargo-audit/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/cargo-audit/default.nix
@@ -1,19 +1,36 @@
-{ stdenv, lib, rustPlatform, fetchFromGitHub, openssl, pkg-config, Security, libiconv }:
+{ lib
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+, openssl
+, pkg-config
+, Security
+, libiconv
+}:
+
 rustPlatform.buildRustPackage rec {
   pname = "cargo-audit";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "RustSec";
-    repo = "cargo-audit";
-    rev = "v${version}";
-    sha256 = "sha256-apIhTgS7xzDGq2OE1o46bEQxGwkV7bTmzSxy85wHwyo=";
+    repo = "rustsec";
+    rev = "cargo-audit%2Fv${version}";
+    sha256 = "0pvb1m9277ysjzydjvx7viybi6bd23ch7sbjyx1wnz45ahrmia1j";
   };
 
-  cargoSha256 = "sha256-b4x5IxoT5KZnY6Pw3VEs/DuCPen6MlgQ2lSIxRDU+5U=";
+  cargoSha256 = "0cf8kg8vhfqbrkm227rzyl3394n7fsqhqgq13qks7374h5d04haw";
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
 
-  buildInputs = [ openssl libiconv ] ++ lib.optionals stdenv.isDarwin [ Security ];
-  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [
+    openssl
+    libiconv
+  ] ++ lib.optionals stdenv.isDarwin [
+    Security
+  ];
 
   # enables `cargo audit fix`
   cargoBuildFlags = [ "--features fix" ];
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-outdated/default.nix b/nixpkgs/pkgs/tools/package-management/cargo-outdated/default.nix
index fe8f743c71cc..beb04041861e 100644
--- a/nixpkgs/pkgs/tools/package-management/cargo-outdated/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/cargo-outdated/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-outdated";
-  version = "0.9.15";
+  version = "0.9.17";
 
   src = fetchFromGitHub {
     owner = "kbknapp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Cd0QWFeAAHSkeCVQvb+Fsg5nBoutV1k1kQpMkWpci2E=";
+    sha256 = "sha256-Ian/vXGoPHecguQUp2IUgdLW6Ll8OdCA2W0WmoYPDrI=";
   };
 
-  cargoSha256 = "sha256-VngJMDVKIV8+ODHia2U2gKKPKskyKiuKhSnO6NJsJHI=";
+  cargoSha256 = "sha256-eDu1dAs543AryUEsCY9COHrvuamQocCk0nBXDIdFmYs=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ]
diff --git a/nixpkgs/pkgs/tools/package-management/cargo-release/default.nix b/nixpkgs/pkgs/tools/package-management/cargo-release/default.nix
index bfe003c4890a..aeb18f2efdef 100644
--- a/nixpkgs/pkgs/tools/package-management/cargo-release/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/cargo-release/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-release";
-  version = "0.15.0";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "sunng87";
     repo = "cargo-release";
     rev = "v${version}";
-    sha256 = "sha256-hEpPRAUPHz9lDTJLyDMUAS+dH6hlppvi3Bb3ahnYW9U=";
+    sha256 = "sha256-+vQXaI6v8HXzsfXZFxmBJe+1u9nmW0z3SBjo38orJYA=";
   };
 
-  cargoSha256 = "sha256-tOiralZWA21HBTxYWVB1LZH2ArfgY7HB45dVqHoXe/Q=";
+  cargoSha256 = "sha256-Zcg1MAAESD6qrh7domslisT2wG4ZaYyZtPCQ5IQrLVo=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ]
diff --git a/nixpkgs/pkgs/tools/package-management/fpm/Gemfile.lock b/nixpkgs/pkgs/tools/package-management/fpm/Gemfile.lock
index c8bb7d364132..b3e8b9d221a5 100644
--- a/nixpkgs/pkgs/tools/package-management/fpm/Gemfile.lock
+++ b/nixpkgs/pkgs/tools/package-management/fpm/Gemfile.lock
@@ -1,40 +1,36 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    arr-pm (0.0.10)
+    arr-pm (0.0.11)
       cabin (> 0)
-    backports (3.14.0)
+    backports (3.21.0)
     cabin (0.9.0)
-    childprocess (0.9.0)
-      ffi (~> 1.0, >= 1.0.11)
     clamp (1.0.1)
-    dotenv (2.7.2)
-    ffi (1.10.0)
-    fpm (1.11.0)
-      arr-pm (~> 0.0.10)
+    dotenv (2.7.6)
+    fpm (1.13.0)
+      arr-pm (~> 0.0.11)
       backports (>= 2.6.2)
       cabin (>= 0.6.0)
-      childprocess (= 0.9.0)
       clamp (~> 1.0.0)
-      ffi
-      json (>= 1.7.7, < 2.0)
+      git (>= 1.3.0, < 2.0)
+      json (>= 1.7.7, < 3.0)
       pleaserun (~> 0.0.29)
-      ruby-xz (~> 0.2.3)
+      rexml
       stud
+    git (1.8.1)
+      rchardet (~> 1.8)
     insist (1.0.0)
-    io-like (0.3.0)
-    json (1.8.6)
+    json (2.5.1)
     mustache (0.99.8)
-    pleaserun (0.0.30)
+    pleaserun (0.0.32)
       cabin (> 0)
       clamp
       dotenv
       insist
       mustache (= 0.99.8)
       stud
-    ruby-xz (0.2.3)
-      ffi (~> 1.9)
-      io-like (~> 0.3)
+    rchardet (1.8.0)
+    rexml (3.2.5)
     stud (0.0.23)
 
 PLATFORMS
diff --git a/nixpkgs/pkgs/tools/package-management/fpm/gemset.nix b/nixpkgs/pkgs/tools/package-management/fpm/gemset.nix
index 654a640c6ec2..dca13598e8cc 100644
--- a/nixpkgs/pkgs/tools/package-management/fpm/gemset.nix
+++ b/nixpkgs/pkgs/tools/package-management/fpm/gemset.nix
@@ -5,20 +5,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07yx1g1nh4zdy38i2id1xyp42fvj4vl6i196jn7szvjfm0jx98hg";
+      sha256 = "17qssricshzs2ml1jvn4bs2h85gxvrqm074pl5nl8vr74620iazi";
       type = "gem";
     };
-    version = "0.0.10";
+    version = "0.0.11";
   };
   backports = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17j5pf0b69bkn043wi4xd530ky53jbbnljr4bsjzlm4k8bzlknfn";
+      sha256 = "0xqvwj3mm28g1z4npya51zjcvxaniyyzn3fwgcdwmm8xrdbl8fgr";
       type = "gem";
     };
-    version = "3.14.0";
+    version = "3.21.0";
   };
   cabin = {
     groups = ["default"];
@@ -30,17 +30,6 @@
     };
     version = "0.9.0";
   };
-  childprocess = {
-    dependencies = ["ffi"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0a61922kmvcxyj5l70fycapr87gz1dzzlkfpq85rfqk5vdh3d28p";
-      type = "gem";
-    };
-    version = "0.9.0";
-  };
   clamp = {
     groups = ["default"];
     platforms = [];
@@ -56,31 +45,32 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13cis6bf06hmz744xrsl163p6gb78xcm8g8q4pcabsy5ywyv6kag";
+      sha256 = "0iym172c5337sm1x2ykc2i3f961vj3wdclbyg1x6sxs3irgfsl94";
       type = "gem";
     };
-    version = "2.7.2";
+    version = "2.7.6";
   };
-  ffi = {
+  fpm = {
+    dependencies = ["arr-pm" "backports" "cabin" "clamp" "git" "json" "pleaserun" "rexml" "stud"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p";
+      sha256 = "03ss7yh628f0m6by23q3sniq660gm07mkz6wqjpvr118gc0h53sa";
       type = "gem";
     };
-    version = "1.10.0";
+    version = "1.13.0";
   };
-  fpm = {
-    dependencies = ["arr-pm" "backports" "cabin" "childprocess" "clamp" "ffi" "json" "pleaserun" "ruby-xz" "stud"];
+  git = {
+    dependencies = ["rchardet"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0khzsiqzswxpql6w2ws9dawb27zgv4nmgrjszydmm0xpv6h21jrm";
+      sha256 = "0vdcv93s33d9914a9nxrn2y2qv15xk7jx94007cmalp159l08cnl";
       type = "gem";
     };
-    version = "1.11.0";
+    version = "1.8.1";
   };
   insist = {
     groups = ["default"];
@@ -92,57 +82,56 @@
     };
     version = "1.0.0";
   };
-  io-like = {
+  json = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04nn0s2wmgxij3k760h3r8m1dgih5dmd9h4v1nn085yi824i5z6k";
+      sha256 = "0lrirj0gw420kw71bjjlqkqhqbrplla61gbv1jzgsz6bv90qr3ci";
       type = "gem";
     };
-    version = "0.3.0";
+    version = "2.5.1";
   };
-  json = {
+  mustache = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qmj7fypgb9vag723w1a49qihxrcf5shzars106ynw2zk352gbv5";
+      sha256 = "1g5hplm0k06vwxwqzwn1mq5bd02yp0h3rym4zwzw26aqi7drcsl2";
       type = "gem";
     };
-    version = "1.8.6";
+    version = "0.99.8";
   };
-  mustache = {
+  pleaserun = {
+    dependencies = ["cabin" "clamp" "dotenv" "insist" "mustache" "stud"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1g5hplm0k06vwxwqzwn1mq5bd02yp0h3rym4zwzw26aqi7drcsl2";
+      sha256 = "1aykf0l8327bqkkf5xd9jcglsib973zpy37cfnlf4j0vp0cdpn2d";
       type = "gem";
     };
-    version = "0.99.8";
+    version = "0.0.32";
   };
-  pleaserun = {
-    dependencies = ["cabin" "clamp" "dotenv" "insist" "mustache" "stud"];
+  rchardet = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hgnrl67zkqaxmfkwbyscawj4wqjm7h8khpbj58s6iw54wp3408p";
+      sha256 = "1isj1b3ywgg2m1vdlnr41lpvpm3dbyarf1lla4dfibfmad9csfk9";
       type = "gem";
     };
-    version = "0.0.30";
+    version = "1.8.0";
   };
-  ruby-xz = {
-    dependencies = ["ffi" "io-like"];
+  rexml = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11bgpvvk0098ghvlxr4i713jmi2izychalgikwvdwmpb452r3ndw";
+      sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53";
       type = "gem";
     };
-    version = "0.2.3";
+    version = "3.2.5";
   };
   stud = {
     groups = ["default"];
diff --git a/nixpkgs/pkgs/tools/package-management/nix-doc/default.nix b/nixpkgs/pkgs/tools/package-management/nix-doc/default.nix
index ae01601dde4f..af83d04e8110 100644
--- a/nixpkgs/pkgs/tools/package-management/nix-doc/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nix-doc/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nix-doc";
-  version = "0.3.3";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "lf-";
     repo = "nix-doc";
-    sha256 = "0vd7159y5w8jjgaw51kfr3z3r50299gvw7vjchpqx3nwmdink8bh";
+    sha256 = "1s0nlbn5fcgqfns8gpx3i87k5qivd8ar59rklvd7fbn6ckrmzi6m";
   };
 
   doCheck = true;
@@ -16,11 +16,11 @@ rustPlatform.buildRustPackage rec {
 
   nativeBuildInputs = [ pkg-config ];
 
-  cargoSha256 = "0xsy13yxm8vblab73gynb781ya168w66c32i1lyv0ns1lnz61dmh";
+  cargoSha256 = "0xmw3fyic0fcg7a6z8dr3lv367bxqdhdrlrl2hhlz59xg5kq8b3f";
 
   meta = with lib; {
     description = "An interactive Nix documentation tool";
-    longDescription = "An interactive Nix documentation tool providing a CLI for function search and a Nix plugin for docs in the REPL";
+    longDescription = "An interactive Nix documentation tool providing a CLI for function search, a Nix plugin for docs in the REPL, and a ctags implementation for Nix script";
     homepage = "https://github.com/lf-/nix-doc";
     license = licenses.lgpl3;
     maintainers = [ maintainers.lf- ];
diff --git a/nixpkgs/pkgs/tools/package-management/nixops/azure-storage/default.nix b/nixpkgs/pkgs/tools/package-management/nixops/azure-storage/default.nix
index 6693a7464d43..c6f3d71e98ea 100644
--- a/nixpkgs/pkgs/tools/package-management/nixops/azure-storage/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nixops/azure-storage/default.nix
@@ -4,7 +4,7 @@
 , python
 , azure-common
 , futures
-, dateutil
+, python-dateutil
 , requests
 , isPy3k
 }:
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     sha256 = "06bmw6k2000kln5jwk5r9bgcalqbyvqirmdh9gq4s6nb4fv3c0jb";
   };
 
-  propagatedBuildInputs = [ azure-common dateutil requests ]
+  propagatedBuildInputs = [ azure-common python-dateutil requests ]
                             ++ pkgs.lib.optionals (!isPy3k) [ futures ];
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/tools/security/age/default.nix b/nixpkgs/pkgs/tools/security/age/default.nix
index e15618da3f18..20735c6e5782 100644
--- a/nixpkgs/pkgs/tools/security/age/default.nix
+++ b/nixpkgs/pkgs/tools/security/age/default.nix
@@ -2,14 +2,14 @@
 
 buildGoModule rec {
   pname = "age";
-  version = "1.0.0-rc.1";
-  vendorSha256 = "1qx6pkhq00y0lsi6f82g8hxxh65zk1c0ls91ap6hdlj7ch79bhl2";
+  version = "1.0.0-rc.3";
+  vendorSha256 = "sha256-sXUbfxhPmJXO+KgV/dmWmsyV49Pb6CoJLbt50yVgEvI=";
 
   src = fetchFromGitHub {
     owner = "FiloSottile";
     repo = "age";
     rev = "v${version}";
-    sha256 = "1n25wip4qnd3v9ial1apc2ybx10b9z6lwz7flyss6kvj3x5g9jd1";
+    sha256 = "sha256-YXdCTK9/eMvcHWg7gQQiPlLWYx2OjbOJDDNdSYO09HU=";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/security/bitwarden/default.nix b/nixpkgs/pkgs/tools/security/bitwarden/default.nix
index daddf9a71b6a..39756c9e9a78 100644
--- a/nixpkgs/pkgs/tools/security/bitwarden/default.nix
+++ b/nixpkgs/pkgs/tools/security/bitwarden/default.nix
@@ -17,11 +17,11 @@ let
   pname = "bitwarden";
 
   version = {
-    x86_64-linux = "1.26.4";
+    x86_64-linux = "1.27.0";
   }.${system} or "";
 
   sha256 = {
-    x86_64-linux = "sha256-PYqLf1Y3SwPFjq8JJMxHrKWKuCqbVpmzugi3DjRNWUg=";
+    x86_64-linux = "sha256-Ik+g7jkTBHRbGwDhbiJGQorMmt6GhCXVUd82Sug9a28=";
   }.${system} or "";
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/security/cfssl/default.nix b/nixpkgs/pkgs/tools/security/cfssl/default.nix
index e92fe7b951f6..6ef07c2c355b 100644
--- a/nixpkgs/pkgs/tools/security/cfssl/default.nix
+++ b/nixpkgs/pkgs/tools/security/cfssl/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cfssl";
-  version = "1.5.0";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "cloudflare";
     repo = "cfssl";
     rev = "v${version}";
-    sha256 = "1yzxz2l7h2d3f8j6l9xlm7g9659gsa17zf4q0883s0jh3l3xgs5n";
+    sha256 = "sha256-29HEaW5LCoHcuJrfVUN2hnsRtaSTrvIBo8ok2UJbfuQ=";
   };
 
   subPackages = [
diff --git a/nixpkgs/pkgs/tools/security/chkrootkit/default.nix b/nixpkgs/pkgs/tools/security/chkrootkit/default.nix
index 338df2c2d1cc..b365fa62f953 100644
--- a/nixpkgs/pkgs/tools/security/chkrootkit/default.nix
+++ b/nixpkgs/pkgs/tools/security/chkrootkit/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "chkrootkit";
-  version = "0.54";
+  version = "0.55";
 
   src = fetchurl {
     url = "ftp://ftp.pangeia.com.br/pub/seg/pac/${pname}-${version}.tar.gz";
-    sha256 = "01snj54hhgiqzs72hzabq6abcn46m1yckjx7503vcggm45lr4k0m";
+    sha256 = "sha256-qBwChuxEkxP5U3ASAqAOgbIE/Cz0PieFhaEcEqXgJYs=";
   };
 
   # TODO: a lazy work-around for linux build failure ...
diff --git a/nixpkgs/pkgs/tools/security/dnsx/default.nix b/nixpkgs/pkgs/tools/security/dnsx/default.nix
index 33f40ce59d48..75c85deb1cce 100644
--- a/nixpkgs/pkgs/tools/security/dnsx/default.nix
+++ b/nixpkgs/pkgs/tools/security/dnsx/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "dnsx";
-  version = "1.0.4";
+  version = "1.0.5";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = "dnsx";
     rev = "v${version}";
-    sha256 = "sha256-dfjchsmGqyWLxO2sP+TlBEeKz9Fd4bHWG2r4FJPGNMs=";
+    sha256 = "sha256-w+FQp5pvySM36UHFxBH5WRZvnGi43NZeI2tLr6HAF3Q=";
   };
 
-  vendorSha256 = "sha256-KJyWb+coWSdvZGwDw/JSLtPeynndnaevwyYIzyEH4Kc=";
+  vendorSha256 = "sha256-gsoeAau3klOFTu+ZEYEMdIuXw/5IVsfFJ2maxPaZKjA=";
 
   meta = with lib; {
     description = "Fast and multi-purpose DNS toolkit";
diff --git a/nixpkgs/pkgs/tools/security/exploitdb/default.nix b/nixpkgs/pkgs/tools/security/exploitdb/default.nix
index d5d9138a15a4..2c096d100e27 100644
--- a/nixpkgs/pkgs/tools/security/exploitdb/default.nix
+++ b/nixpkgs/pkgs/tools/security/exploitdb/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "exploitdb";
-  version = "2021-06-25";
+  version = "2021-07-06";
 
   src = fetchFromGitHub {
     owner = "offensive-security";
     repo = pname;
     rev = version;
-    sha256 = "sha256-xaRk/H2jITtU+93+7KxrYTTl0cCObvqcd+F9NNhjMjo=";
+    sha256 = "sha256-tRdA3GwU+jko+N+LOCHOA6RqFp3rkhyARwSTXRXoDww=";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/tools/security/flare-floss/default.nix b/nixpkgs/pkgs/tools/security/flare-floss/default.nix
index 954dd07d6ab8..fbf065dc3b15 100644
--- a/nixpkgs/pkgs/tools/security/flare-floss/default.nix
+++ b/nixpkgs/pkgs/tools/security/flare-floss/default.nix
@@ -1,8 +1,9 @@
 { lib
-, python2
+, python3
 , fetchFromGitHub
 }:
-python2.pkgs.buildPythonPackage rec {
+
+python3.pkgs.buildPythonPackage rec {
   pname = "flare-floss";
   version = "1.7.0";
 
@@ -13,18 +14,17 @@ python2.pkgs.buildPythonPackage rec {
     sha256 = "GMOA1+qM2A/Qw33kOTIINEvjsfqjWQWBXHNemh3IK8w=";
   };
 
-  propagatedBuildInputs = with python2.pkgs; [
+  propagatedBuildInputs = with python3.pkgs; [
     pyyaml
     simplejson
     tabulate
     vivisect
     plugnplay
     viv-utils
-    enum34
   ];
 
-  checkInputs = [
-    python2.pkgs.pytestCheckHook
+  checkInputs = with python3.pkgs; [
+    pytestCheckHook
   ];
 
   disabledTests = [
diff --git a/nixpkgs/pkgs/tools/security/gopass/default.nix b/nixpkgs/pkgs/tools/security/gopass/default.nix
index dea65ca7164c..358acf376b48 100644
--- a/nixpkgs/pkgs/tools/security/gopass/default.nix
+++ b/nixpkgs/pkgs/tools/security/gopass/default.nix
@@ -13,7 +13,7 @@
 
 buildGoModule rec {
   pname = "gopass";
-  version = "1.12.6";
+  version = "1.12.7";
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
@@ -21,10 +21,10 @@ buildGoModule rec {
     owner = "gopasspw";
     repo = pname;
     rev = "v${version}";
-    sha256 = "17y9indpgqqx261bqvckfqq1q2zciahssaalaa5c5hb6bnw5ls52";
+    sha256 = "08mzm03vhc8pqyl17y8dkrcpgy3ckmb84x84b6ap3cja3y8gmj5x";
   };
 
-  vendorSha256 = "106rn0bkvzf2fw21f6wpiya88ysj8sfc2zkkm47iqr23d2202i4b";
+  vendorSha256 = "0ym6f1h51bj3qlzxs936fz3p47l63nad4xckl16m13iy0k7z5flg";
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/tools/security/gpg-tui/default.nix b/nixpkgs/pkgs/tools/security/gpg-tui/default.nix
index f329fe1013b7..063265e51d81 100644
--- a/nixpkgs/pkgs/tools/security/gpg-tui/default.nix
+++ b/nixpkgs/pkgs/tools/security/gpg-tui/default.nix
@@ -1,24 +1,30 @@
 { lib
+, stdenv
 , rustPlatform
 , fetchFromGitHub
 , gpgme
 , libgpgerror
 , libxcb
 , python3
+, AppKit
+, Foundation
+, libiconv
+, libobjc
+, libresolv
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "gpg-tui";
-  version = "0.6.1";
+  version = "0.6.2";
 
   src = fetchFromGitHub {
     owner = "orhun";
     repo = "gpg-tui";
     rev = "v${version}";
-    sha256 = "sha256-ajzx54uQFNZraDwqEKG9sdlMquJnluiaCqsR+JT79jw=";
+    sha256 = "sha256-Iv5A+o4TNSHJeTZgZ2e0SCHclz1mGMVRJDdBAWilyT8=";
   };
 
-  cargoSha256 = "sha256-UjrX+Z8slMBAiKhiFjxSoX74vIiFW9bMww49oPa18ag=";
+  cargoSha256 = "sha256-ISG/0WtgWwZoQd8PsvaQ9L8UKwerzEhY/84DxkdZV2g=";
 
   nativeBuildInputs = [
     gpgme # for gpgme-config
@@ -30,6 +36,12 @@ rustPlatform.buildRustPackage rec {
     gpgme
     libgpgerror
     libxcb
+  ] ++ lib.optionals stdenv.isDarwin [
+    AppKit
+    Foundation
+    libiconv
+    libobjc
+    libresolv
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/security/grype/default.nix b/nixpkgs/pkgs/tools/security/grype/default.nix
index 613d93747ed1..7df1090b2b0c 100644
--- a/nixpkgs/pkgs/tools/security/grype/default.nix
+++ b/nixpkgs/pkgs/tools/security/grype/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "grype";
-  version = "0.13.0";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-nHSnDrvz0EwDnmYch/bDJOZkf1b1Vrf1960d637ZmBs=";
+    sha256 = "sha256-fYeZFNtftG46/QHdV5UhCNCdP7ErOgwWfEB4V14ei5k=";
   };
 
-  vendorSha256 = "sha256-+1XJTr/WJIz/gvvl9KNp68OVEkjHk+KunAd4trd2T/Y=";
+  vendorSha256 = "sha256-mW3e4WFa9pKSpyTZYmPA2j8nZz+94G2PqdqI0BDo3wc=";
 
   propagatedBuildInputs = [ docker ];
 
diff --git a/nixpkgs/pkgs/tools/security/keybase/default.nix b/nixpkgs/pkgs/tools/security/keybase/default.nix
index f1268717a917..ec240a7c7156 100644
--- a/nixpkgs/pkgs/tools/security/keybase/default.nix
+++ b/nixpkgs/pkgs/tools/security/keybase/default.nix
@@ -6,7 +6,7 @@
 
 buildGoPackage rec {
   pname = "keybase";
-  version = "5.6.1";
+  version = "5.7.1";
 
   goPackagePath = "github.com/keybase/client";
   subPackages = [ "go/kbnm" "go/keybase" ];
@@ -17,7 +17,7 @@ buildGoPackage rec {
     owner = "keybase";
     repo = "client";
     rev = "v${version}";
-    sha256 = "12b0jdwhnvxb51x3pq0g0f23grv9yjbxmpsz36n8ab3j0fvmfg0g";
+    sha256 = "sha256-72rVk8pYIQFESQqBu4bmFBPpAOB0oG2Iu36TbAdecBw=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/tools/security/knockpy/default.nix b/nixpkgs/pkgs/tools/security/knockpy/default.nix
index 89eda45322c7..8189145846b3 100644
--- a/nixpkgs/pkgs/tools/security/knockpy/default.nix
+++ b/nixpkgs/pkgs/tools/security/knockpy/default.nix
@@ -5,30 +5,28 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "knockpy";
-  version = "5.0.0";
+  version = "5.1.0";
   disabled = python3.pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "guelfoweb";
     repo = "knock";
     rev = version;
-    sha256 = "1h7sibdxx8y53xm1wydyng418n4j6baiys257msq03cs04jlm7h9";
+    sha256 = "sha256-4W6/omGPmQFuZ/2AVNgCs2q0ti/P8OY4o7b4/g9q+Rc=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
     beautifulsoup4
     colorama
+    matplotlib
+    networkx
+    pyqt5
     requests
   ];
 
-  postPatch = ''
-    # https://github.com/guelfoweb/knock/pull/95
-    substituteInPlace setup.py \
-      --replace "bs4" "beautifulsoup4"
-  '';
-
   # Project has no tests
   doCheck = false;
+
   pythonImportsCheck = [ "knockpy" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/security/libtpms/default.nix b/nixpkgs/pkgs/tools/security/libtpms/default.nix
index 71ae5c969a0e..baca0ed8b771 100644
--- a/nixpkgs/pkgs/tools/security/libtpms/default.nix
+++ b/nixpkgs/pkgs/tools/security/libtpms/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libtpms";
-  version = "0.8.3";
+  version = "0.8.4";
 
   src = fetchFromGitHub {
     owner = "stefanberger";
     repo = "libtpms";
     rev = "v${version}";
-    sha256 = "sha256-D6lYOVlgtBY6C07YqbG6TPnDKrUoEj82Ra6GK/HB7X8=";
+    sha256 = "sha256-9e7O9SE7e8D6ULXhICabNCrL+QTH55jQm0AI7DVteE0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/security/lynis/default.nix b/nixpkgs/pkgs/tools/security/lynis/default.nix
index b2ef8d8354b4..094aab1e86d3 100644
--- a/nixpkgs/pkgs/tools/security/lynis/default.nix
+++ b/nixpkgs/pkgs/tools/security/lynis/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lynis";
-  version = "3.0.4";
+  version = "3.0.5";
 
   src = fetchFromGitHub {
     owner = "CISOfy";
     repo = pname;
     rev = version;
-    sha256 = "sha256-/pF1V8ZsylQOCW7K/O0R3HYYDdsdNDVmmUar21EzpcQ=";
+    sha256 = "sha256-IJCLj3iSPkfkYOqTu7adtU26jTgKfRmiwIfKvSApdIY=";
   };
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/security/metasploit/Gemfile b/nixpkgs/pkgs/tools/security/metasploit/Gemfile
index 9f0af308cfb9..79f85f2b3750 100644
--- a/nixpkgs/pkgs/tools/security/metasploit/Gemfile
+++ b/nixpkgs/pkgs/tools/security/metasploit/Gemfile
@@ -1,4 +1,4 @@
 # frozen_string_literal: true
 source "https://rubygems.org"
 
-gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.0.49"
+gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.0.51"
diff --git a/nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock b/nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock
index ce054a6a480d..8248f6e8181b 100644
--- a/nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock
+++ b/nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock
@@ -1,9 +1,9 @@
 GIT
   remote: https://github.com/rapid7/metasploit-framework
-  revision: 2e07122e80d8ae23e6aa53ae0fcb9dfca6639c59
-  ref: refs/tags/6.0.49
+  revision: d9aeac3fea255c475f553be4c55f3ae7cefc8542
+  ref: refs/tags/6.0.51
   specs:
-    metasploit-framework (6.0.49)
+    metasploit-framework (6.0.51)
       actionpack (~> 5.2.2)
       activerecord (~> 5.2.2)
       activesupport (~> 5.2.2)
@@ -55,6 +55,7 @@ GIT
       rb-readline
       recog
       redcarpet
+      reline (= 0.2.5)
       rex-arch
       rex-bin_tools
       rex-core
@@ -125,13 +126,13 @@ GEM
     arel-helpers (2.12.0)
       activerecord (>= 3.1.0, < 7)
     aws-eventstream (1.1.1)
-    aws-partitions (1.469.0)
-    aws-sdk-core (3.114.3)
+    aws-partitions (1.473.0)
+    aws-sdk-core (3.115.0)
       aws-eventstream (~> 1, >= 1.0.2)
       aws-partitions (~> 1, >= 1.239.0)
       aws-sigv4 (~> 1.1)
       jmespath (~> 1.0)
-    aws-sdk-ec2 (1.244.0)
+    aws-sdk-ec2 (1.246.0)
       aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
     aws-sdk-iam (1.55.0)
@@ -155,7 +156,7 @@ GEM
     cookiejar (0.3.3)
     crass (1.0.6)
     daemons (1.4.0)
-    dnsruby (1.61.5)
+    dnsruby (1.61.7)
       simpleidn (~> 0.1)
     domain_name (0.5.20190701)
       unf (>= 0.0.5, < 1.0.0)
@@ -172,7 +173,7 @@ GEM
     eventmachine (1.2.7)
     faker (2.18.0)
       i18n (>= 1.6, < 2)
-    faraday (1.4.2)
+    faraday (1.4.3)
       faraday-em_http (~> 1.0)
       faraday-em_synchrony (~> 1.0)
       faraday-excon (~> 1.1)
@@ -198,8 +199,8 @@ GEM
     i18n (1.8.10)
       concurrent-ruby (~> 1.0)
     io-console (0.5.9)
-    irb (1.3.5)
-      reline (>= 0.1.5)
+    irb (1.3.6)
+      reline (>= 0.2.5)
     jmespath (1.4.0)
     jsobfu (0.4.2)
       rkelly-remix
@@ -344,7 +345,7 @@ GEM
       rex-socket
       rex-text
     rex-struct2 (0.1.3)
-    rex-text (0.2.34)
+    rex-text (0.2.35)
     rex-zip (0.1.4)
       rex-text
     rexml (3.2.5)
diff --git a/nixpkgs/pkgs/tools/security/metasploit/default.nix b/nixpkgs/pkgs/tools/security/metasploit/default.nix
index b8ad99b91788..c48c5e1690ef 100644
--- a/nixpkgs/pkgs/tools/security/metasploit/default.nix
+++ b/nixpkgs/pkgs/tools/security/metasploit/default.nix
@@ -8,13 +8,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "metasploit-framework";
-  version = "6.0.50";
+  version = "6.0.51";
 
   src = fetchFromGitHub {
     owner = "rapid7";
     repo = "metasploit-framework";
     rev = version;
-    sha256 = "sha256-ZtIpkUt3jIhe4st8JlxE0rvLe6P+QBGdjyTL13Avwj0=";
+    sha256 = "sha256-ICVF4GVOyCq7dUAvzUUzhG+NuEiHSFvVWbQ8tAqUFFg=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/security/metasploit/gemset.nix b/nixpkgs/pkgs/tools/security/metasploit/gemset.nix
index 7f43161b5beb..b52bff8aa8bb 100644
--- a/nixpkgs/pkgs/tools/security/metasploit/gemset.nix
+++ b/nixpkgs/pkgs/tools/security/metasploit/gemset.nix
@@ -114,30 +114,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xh65jmz3s12kfi7ij0j89d638nzdvq4z6dq9amzgmiw09ycvdbr";
+      sha256 = "1dw05k0l63lm631lwg5b1bx1nhkirds4rbc1v98bliwfjk5wf71a";
       type = "gem";
     };
-    version = "1.469.0";
+    version = "1.473.0";
   };
   aws-sdk-core = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10wk5y4flc04cc42cmcfgr9sj67mz4582d45xmll56mpz4cw5cfc";
+      sha256 = "06cs5wj4njb2ivhv06v5d7rgy1i2g67a93c0kxly8h7fkkxh315q";
       type = "gem";
     };
-    version = "3.114.3";
+    version = "3.115.0";
   };
   aws-sdk-ec2 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xnpxgcmacmqs98swlv3qkg7svpwydb1kqsngqciyg3jddzxrzp6";
+      sha256 = "0n3m2a8jnk64ai4wb1wh1a77i8c561ncjklvp650w8723avbj5bq";
       type = "gem";
     };
-    version = "1.244.0";
+    version = "1.246.0";
   };
   aws-sdk-iam = {
     groups = ["default"];
@@ -274,10 +274,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0q7k7wn8flcdr0kzgknq40cjddd0zn3g3n4gwwwdz0kq30pinzxx";
+      sha256 = "1pbhj4xmj4262in6c1nwl5ssw0qypg8ysjrrkwn2akkzbxzy9rfq";
       type = "gem";
     };
-    version = "1.61.5";
+    version = "1.61.7";
   };
   domain_name = {
     groups = ["default"];
@@ -354,10 +354,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07mhk70gv453pg38md346470hknyhipdqppnplq706ll3k3lzb7v";
+      sha256 = "0zmdsl6n05khwwq8gjssmfca0ifz6q82wwghf1qyzbxxjdna5mly";
       type = "gem";
     };
-    version = "1.4.2";
+    version = "1.4.3";
   };
   faraday-em_http = {
     groups = ["default"];
@@ -494,10 +494,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06i0izb1jm4ijydwk9w2jqyvz72aznaa1b386769yfi8284cnwj6";
+      sha256 = "0s4yjh5p1n05cm3pglh3g4ssrgy67x2bn3bsl0sydbm8mlf3xivr";
       type = "gem";
     };
-    version = "1.3.5";
+    version = "1.3.6";
   };
   jmespath = {
     groups = ["default"];
@@ -574,12 +574,12 @@
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "2e07122e80d8ae23e6aa53ae0fcb9dfca6639c59";
-      sha256 = "0zxyr1r88qslw6ypjqxx188vhmikl94fmkcdg3phm8r71qa375da";
+      rev = "d9aeac3fea255c475f553be4c55f3ae7cefc8542";
+      sha256 = "0n0ljh5b8g5lb7amnj4792w8svw46d2wsbs0fnxjmj2fcph4a990";
       type = "git";
       url = "https://github.com/rapid7/metasploit-framework";
     };
-    version = "6.0.49";
+    version = "6.0.51";
   };
   metasploit-model = {
     groups = ["default"];
@@ -1156,10 +1156,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01g6jr73c3hbqhmzlc80jlqz2cwn9bq1j3cc19fpkq3hdg89drjp";
+      sha256 = "0idgw5z813h5dp82n07g5ldpyfnk7mhvnzl87d9fpy6invixnnbq";
       type = "gem";
     };
-    version = "0.2.34";
+    version = "0.2.35";
   };
   rex-zip = {
     groups = ["default"];
diff --git a/nixpkgs/pkgs/tools/security/rbw/default.nix b/nixpkgs/pkgs/tools/security/rbw/default.nix
index 96616987510d..17ecdee6d309 100644
--- a/nixpkgs/pkgs/tools/security/rbw/default.nix
+++ b/nixpkgs/pkgs/tools/security/rbw/default.nix
@@ -21,15 +21,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rbw";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchCrate {
     inherit version;
     crateName = pname;
-    sha256 = "14cnqc5cf6qm2g9ypv2pbqbvymawyrqn3fc778labgqg24khqcyq";
+    sha256 = "17x4q29rsljbalc70r3ks4r6g5zc6jl4si75i33fcicxsvx6f39q";
   };
 
-  cargoSha256 = "0izn5bcvk1rx69sjwyfc49nmvw7k0jysqb0bpdpwdliaa06ggl86";
+  cargoSha256 = "14095ds8f5knrqcriphjlbvasc29n9rf8h5vlkmhpxyk7wh9azzc";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/nixpkgs/pkgs/tools/security/saml2aws/default.nix b/nixpkgs/pkgs/tools/security/saml2aws/default.nix
index e2f1ab7cdb6c..567d3727a16a 100644
--- a/nixpkgs/pkgs/tools/security/saml2aws/default.nix
+++ b/nixpkgs/pkgs/tools/security/saml2aws/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "saml2aws";
-  version = "2.28.0";
+  version = "2.31.0";
 
   src = fetchFromGitHub {
     owner = "Versent";
     repo = "saml2aws";
     rev = "v${version}";
-    sha256 = "sha256-2t1MytLjAxhVVsWyMYcQZ9c+ox+X2OszG5mLAv8c7xE=";
+    sha256 = "sha256-Qe7+INWS9b6lw7QbaaQwIkRwvfx5dRKsZqun3z/U/QA=";
   };
 
   runVend = true;
-  vendorSha256 = "sha256-8Kox01iyWhv/Fp7jHPeNXxc/K2TT1WPyWFieHZkqLho=";
+  vendorSha256 = "sha256-TieQVPSWtIteU0wTqX7si6GrPdYd4WD2eK4ZlLz0VJ8=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/security/sipvicious/default.nix b/nixpkgs/pkgs/tools/security/sipvicious/default.nix
index 8403019a341e..1167d40e4327 100644
--- a/nixpkgs/pkgs/tools/security/sipvicious/default.nix
+++ b/nixpkgs/pkgs/tools/security/sipvicious/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonApplication rec {
   pname = "sipvicious";
-  version = "0.3.3";
+  version = "0.3.4";
 
   src = fetchFromGitHub {
     owner = "EnableSecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "17f6w7qh33zvlhqwf22y9y7skha0xjs46yk66q8xm4brsv4lfxxa";
+    sha256 = "sha256-O8/9Vz/u8BoF1dfGceOJdzPPYLfkdBp2DkwA5WQ3dgo=";
   };
 
   # Project has no tests
diff --git a/nixpkgs/pkgs/tools/security/sn0int/default.nix b/nixpkgs/pkgs/tools/security/sn0int/default.nix
index 5d1244e86196..43a390104413 100644
--- a/nixpkgs/pkgs/tools/security/sn0int/default.nix
+++ b/nixpkgs/pkgs/tools/security/sn0int/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "sn0int";
-  version = "0.21.1";
+  version = "0.21.2";
 
   src = fetchFromGitHub {
     owner = "kpcyrd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-LjNOaqYGlhF0U+YxoLLmmXgxPa8f+t9BSm+qO23waaI=";
+    sha256 = "sha256-BKdi/o/A0fJBlcKTDTCX7uGkK6QR0S9hIn0DI3CN5Gg=";
   };
 
-  cargoSha256 = "sha256-ruK+qDIqrltNcErBnrcHdPfVKmwPwiPfq42A/el206c=";
+  cargoSha256 = "sha256-MeMTXwb5v4iUJQSViOraXAck7n6VlIW2Qa0qNUZWu1g=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/nixpkgs/pkgs/tools/security/sslscan/default.nix b/nixpkgs/pkgs/tools/security/sslscan/default.nix
index 29762fc527c3..4bd7a3ff2214 100644
--- a/nixpkgs/pkgs/tools/security/sslscan/default.nix
+++ b/nixpkgs/pkgs/tools/security/sslscan/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sslscan";
-  version = "2.0.9";
+  version = "2.0.10";
 
   src = fetchFromGitHub {
     owner = "rbsec";
     repo = "sslscan";
     rev = version;
-    sha256 = "0594svwz4pya0syibar0ahmi5zdjbwd5kg6hrlhfpmmslrsyli6m";
+    sha256 = "sha256-L6cNmvR6zy2tkMHh+LBsQ3VZDUr0tD5AlOEj+dTLV5k=";
   };
 
   buildInputs = [ openssl ];
diff --git a/nixpkgs/pkgs/tools/security/stegseek/default.nix b/nixpkgs/pkgs/tools/security/stegseek/default.nix
index d2fb825b5296..f898b5eab0e6 100644
--- a/nixpkgs/pkgs/tools/security/stegseek/default.nix
+++ b/nixpkgs/pkgs/tools/security/stegseek/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "stegseek";
-  version = "0.5";
+  version = "0.6";
 
   src = fetchFromGitHub {
     owner = "RickdeJager";
     repo = pname;
     rev = "v${version}";
-    sha256 = "19hzr5533b607ihmjj71x682qjr45s75cqxh9zap21z16346ahqn";
+    sha256 = "sha256-B5oJffYOYfsH0YRq/Bq0ciIlCsCONyScFBjP7a1lIzo=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/tools/security/terrascan/default.nix b/nixpkgs/pkgs/tools/security/terrascan/default.nix
index 8fa8ded7b664..5fd0578bc877 100644
--- a/nixpkgs/pkgs/tools/security/terrascan/default.nix
+++ b/nixpkgs/pkgs/tools/security/terrascan/default.nix
@@ -1,22 +1,22 @@
-{ buildGoModule
+{ lib
+, buildGoModule
 , fetchFromGitHub
-, lib
 }:
 
 buildGoModule rec {
   pname = "terrascan";
-  version = "1.6.0";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "accurics";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-AIHfG5Z5I91zcogHxGRP7pLauYHICX6NL0bJTp982sQ=";
+    sha256 = "sha256-eCkinYJtZNf5Fo+LXu01cHRInA9CfDONvt1OIs3XJSk=";
   };
 
-  vendorSha256 = "sha256-XzZ3RudyD6YKyc3e3HvUrkXToXs2aFSSCScQgmCfxgQ=";
+  vendorSha256 = "sha256-eez/g0Np/vnSO6uvUA8vtqR3DEaKlBo6lyd9t25LE7s=";
 
-  # tests want to download a vulnerable Terraform project
+  # Tests want to download a vulnerable Terraform project
   doCheck = false;
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/security/tor/default.nix b/nixpkgs/pkgs/tools/security/tor/default.nix
index 2e1e1ae2a67b..b3c98ac013e4 100644
--- a/nixpkgs/pkgs/tools/security/tor/default.nix
+++ b/nixpkgs/pkgs/tools/security/tor/default.nix
@@ -30,11 +30,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "tor";
-  version = "0.4.5.7";
+  version = "0.4.6.6";
 
   src = fetchurl {
     url = "https://dist.torproject.org/${pname}-${version}.tar.gz";
-    sha256 = "0x7hhl0svfc4yh9xvq7kkzgmwjcw1ak9i0794wjg4biy2fmclzs4";
+    sha256 = "04ifi18cj4cw5lhfzgfrrc42j7qqdmbvxq24xlhj0dsmljdih8rl";
   };
 
   outputs = [ "out" "geoip" ];
diff --git a/nixpkgs/pkgs/tools/security/traitor/default.nix b/nixpkgs/pkgs/tools/security/traitor/default.nix
index 8718c92cd3d7..e056b556aadf 100644
--- a/nixpkgs/pkgs/tools/security/traitor/default.nix
+++ b/nixpkgs/pkgs/tools/security/traitor/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "traitor";
-  version = "0.0.3";
+  version = "0.0.8";
 
   src = fetchFromGitHub {
     owner = "liamg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0mffh4k87ybl0mpglgi2yfwksygrh62mcmkcmfcbszlh5pagsch1";
+    sha256 = "sha256-eUeKkjSpKel6XH3/VVw/WPCG/Nq8BcZwMNFG9z9FUuU=";
   };
 
   vendorSha256 = null;
diff --git a/nixpkgs/pkgs/tools/security/vault/default.nix b/nixpkgs/pkgs/tools/security/vault/default.nix
index 45bd76b90917..66a6d5e63e85 100644
--- a/nixpkgs/pkgs/tools/security/vault/default.nix
+++ b/nixpkgs/pkgs/tools/security/vault/default.nix
@@ -1,4 +1,8 @@
-{ lib, fetchFromGitHub, buildGoPackage, installShellFiles, nixosTests }:
+{ stdenv, lib, fetchFromGitHub, buildGoPackage, installShellFiles, nixosTests
+, makeWrapper
+, gawk
+, glibc
+}:
 
 buildGoPackage rec {
   pname = "vault";
@@ -15,13 +19,16 @@ buildGoPackage rec {
 
   subPackages = [ "." ];
 
-  nativeBuildInputs = [ installShellFiles ];
+  nativeBuildInputs = [ installShellFiles makeWrapper ];
 
   buildFlagsArray = [ "-tags=vault" "-ldflags=-s -w -X ${goPackagePath}/sdk/version.GitCommit=${src.rev}" ];
 
   postInstall = ''
     echo "complete -C $out/bin/vault vault" > vault.bash
     installShellCompletion vault.bash
+  '' + lib.optionalString stdenv.isLinux ''
+    wrapProgram $out/bin/vault \
+      --prefix PATH ${lib.makeBinPath [ gawk glibc ]}
   '';
 
   passthru.tests.vault = nixosTests.vault;
diff --git a/nixpkgs/pkgs/tools/security/vault/vault-bin.nix b/nixpkgs/pkgs/tools/security/vault/vault-bin.nix
index 11175c3c889f..68df6e557f61 100644
--- a/nixpkgs/pkgs/tools/security/vault/vault-bin.nix
+++ b/nixpkgs/pkgs/tools/security/vault/vault-bin.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, unzip }:
+{ lib, stdenv, fetchurl, unzip, makeWrapper, gawk, glibc }:
 
 let
   version = "1.7.3";
@@ -30,7 +30,7 @@ in stdenv.mkDerivation {
 
   src = sources.${stdenv.hostPlatform.system} or (throw "unsupported system: ${stdenv.hostPlatform.system}");
 
-  nativeBuildInputs = [ unzip ];
+  nativeBuildInputs = [ makeWrapper unzip ];
 
   sourceRoot = ".";
 
@@ -40,7 +40,10 @@ in stdenv.mkDerivation {
     mkdir -p $out/bin $out/share/bash-completion/completions
     mv vault $out/bin
     echo "complete -C $out/bin/vault vault" > $out/share/bash-completion/completions/vault
-
+  '' + lib.optionalString stdenv.isLinux ''
+    wrapProgram $out/bin/vault \
+      --prefix PATH ${lib.makeBinPath [ gawk glibc ]}
+  '' + ''
     runHook postInstall
   '';
 
diff --git a/nixpkgs/pkgs/tools/security/bitwarden_rs/default.nix b/nixpkgs/pkgs/tools/security/vaultwarden/default.nix
index 2790a6434999..4342c8f3ac95 100644
--- a/nixpkgs/pkgs/tools/security/bitwarden_rs/default.nix
+++ b/nixpkgs/pkgs/tools/security/vaultwarden/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, rustPlatform, fetchFromGitHub, nixosTests
+{ lib, stdenv, rustPlatform, fetchFromGitHub, fetchurl, nixosTests
 , pkg-config, openssl
 , libiconv, Security, CoreServices
 , dbBackend ? "sqlite", libmysqlclient, postgresql }:
@@ -7,16 +7,18 @@ let
   featuresFlag = "--features ${dbBackend}";
 
 in rustPlatform.buildRustPackage rec {
-  pname = "bitwarden_rs";
-  version = "1.20.0";
+  pname = "vaultwarden";
+  version = "1.22.1";
 
   src = fetchFromGitHub {
     owner = "dani-garcia";
     repo = pname;
     rev = version;
-    sha256 = "1ncy4iwmdzdp8rv1gc5i4s1rp97d94n4l4bh08v6w4zdpx0zn8b9";
+    sha256 = "sha256-aXbnNO3mTAgE1yNx7YVDo1vPpO8ACZpBGHQ633fNZ3k=";
   };
 
+  cargoSha256 = "sha256-SFzq3OU0a0s3zlEzUkqGdZb/knYafqDamLy4ghH4i8I=";
+
   nativeBuildInputs = [ pkg-config ];
   buildInputs = with lib; [ openssl ]
     ++ optionals stdenv.isDarwin [ libiconv Security CoreServices ]
@@ -25,7 +27,6 @@ in rustPlatform.buildRustPackage rec {
 
   RUSTC_BOOTSTRAP = 1;
 
-  cargoSha256 = "0vdi792bzqxj8g215r9r5anzs4qhqsm6sjzwpj1l9861bn7j4xsz";
   cargoBuildFlags = [ featuresFlag ];
 
   checkPhase = ''
@@ -35,11 +36,11 @@ in rustPlatform.buildRustPackage rec {
     runHook postCheck
   '';
 
-  passthru.tests = nixosTests.bitwarden;
+  passthru.tests = nixosTests.vaultwarden;
 
   meta = with lib; {
     description = "Unofficial Bitwarden compatible server written in Rust";
-    homepage = "https://github.com/dani-garcia/bitwarden_rs";
+    homepage = "https://github.com/dani-garcia/vaultwarden";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ msteen ];
   };
diff --git a/nixpkgs/pkgs/tools/security/bitwarden_rs/vault.nix b/nixpkgs/pkgs/tools/security/vaultwarden/vault.nix
index 2b0855b821d6..49e7cc4f3ba1 100644
--- a/nixpkgs/pkgs/tools/security/bitwarden_rs/vault.nix
+++ b/nixpkgs/pkgs/tools/security/vaultwarden/vault.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, nixosTests }:
 
 stdenv.mkDerivation rec {
-  pname = "bitwarden_rs-vault";
+  pname = "vaultwarden-vault";
   version = "2.19.0";
 
   src = fetchurl {
@@ -10,16 +10,16 @@ stdenv.mkDerivation rec {
   };
 
   buildCommand = ''
-    mkdir -p $out/share/bitwarden_rs/
-    cd $out/share/bitwarden_rs/
+    mkdir -p $out/share/vaultwarden/
+    cd $out/share/vaultwarden/
     tar xf $src
     mv web-vault vault
   '';
 
-  passthru.tests = nixosTests.bitwarden;
+  passthru.tests = nixosTests.vaultwarden;
 
   meta = with lib; {
-    description = "Integrates the web vault into bitwarden_rs";
+    description = "Integrates the web vault into vaultwarden";
     homepage = "https://github.com/dani-garcia/bw_web_builds";
     platforms = platforms.all;
     license = licenses.gpl3Plus;
diff --git a/nixpkgs/pkgs/tools/system/fancy-motd/default.nix b/nixpkgs/pkgs/tools/system/fancy-motd/default.nix
index a009fe1423bf..2c30e7e93485 100644
--- a/nixpkgs/pkgs/tools/system/fancy-motd/default.nix
+++ b/nixpkgs/pkgs/tools/system/fancy-motd/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fancy-motd";
-  version = "unstable-2021-06-27";
+  version = "unstable-2021-07-04";
 
   src = fetchFromGitHub {
     owner = "bcyran";
     repo = pname;
-    rev = "839320ab261612c9ba5b13fc8d1445d094ea0ab3";
-    sha256 = "00wv7nk2f3q186z2qfks5salf97s04vk7ilk8jnbimxg4fl7hcda";
+    rev = "2cc3c3c164ef695c9dd465beca61716a364db32c";
+    sha256 = "003p5rsyl216xwldrk8slpnzw6wdrcm8hpfdgy9a0mja5g1xdqzr";
   };
 
   buildInputs = [ bc curl figlet fortune gawk iproute2 ];
diff --git a/nixpkgs/pkgs/tools/system/hwinfo/default.nix b/nixpkgs/pkgs/tools/system/hwinfo/default.nix
index 1739d5a6314f..9ee77bfc6d3d 100644
--- a/nixpkgs/pkgs/tools/system/hwinfo/default.nix
+++ b/nixpkgs/pkgs/tools/system/hwinfo/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hwinfo";
-  version = "21.74";
+  version = "21.75";
 
   src = fetchFromGitHub {
     owner = "opensuse";
     repo = "hwinfo";
     rev = version;
-    sha256 = "sha256-pPL/RYL8eVPuX71kT64p/ZkUE4uVFALMVj8mWZM3NuU=";
+    sha256 = "sha256-w2Lb+4FvPXw2uFqwsmzVdKIXY8IXV/TAb8FHFPl/K40=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/system/natscli/default.nix b/nixpkgs/pkgs/tools/system/natscli/default.nix
index dbf85f9b7329..1b4a173d504a 100644
--- a/nixpkgs/pkgs/tools/system/natscli/default.nix
+++ b/nixpkgs/pkgs/tools/system/natscli/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "natscli";
-  version = "0.0.22";
+  version = "0.0.24";
 
   src = fetchFromGitHub {
     owner = "nats-io";
     repo = pname;
     rev = version;
-    sha256 = "1qc6lpgl878kc316z10x59px6jyfzdwsj7fdr8k4ayln0lplvbq3";
+    sha256 = "11rpgvcnd2m4g0jnv6g0zdvnhs37jwn1c4hc86xgnk2vipvy0nw2";
   };
 
-  vendorSha256 = "1a9d7hqj43qdh0h7pc5wckqshi8lacf6m2107wymzzz62j1msy26";
+  vendorSha256 = "0nrgbwc10pp7adj0w1jjj6677y2dpqq969ij7i0pmvr08ni95sxw";
 
   meta = with lib; {
     description = "NATS Command Line Interface";
diff --git a/nixpkgs/pkgs/tools/system/netdata/default.nix b/nixpkgs/pkgs/tools/system/netdata/default.nix
index 673d29d61aa1..25d0366ef715 100644
--- a/nixpkgs/pkgs/tools/system/netdata/default.nix
+++ b/nixpkgs/pkgs/tools/system/netdata/default.nix
@@ -42,6 +42,11 @@ in stdenv.mkDerivation rec {
     # required to prevent plugins from relying on /etc
     # and /var
     ./no-files-in-etc-and-var.patch
+    # The current IPC location is unsafe as it writes
+    # a fixed path in /tmp, which is world-writable.
+    # Therefore we put it into `/run/netdata`, which is owned
+    # by netdata only.
+    ./ipc-socket-in-run.patch
   ];
 
   NIX_CFLAGS_COMPILE = optionalString withDebug "-O1 -ggdb -DNETDATA_INTERNAL_CHECKS=1";
diff --git a/nixpkgs/pkgs/tools/system/netdata/ipc-socket-in-run.patch b/nixpkgs/pkgs/tools/system/netdata/ipc-socket-in-run.patch
new file mode 100644
index 000000000000..a117955af095
--- /dev/null
+++ b/nixpkgs/pkgs/tools/system/netdata/ipc-socket-in-run.patch
@@ -0,0 +1,13 @@
+diff --git a/daemon/commands.h b/daemon/commands.h
+index bd4aabfe1cbe4..ce7eb3c730228 100644
+--- a/daemon/commands.h
++++ b/daemon/commands.h
+@@ -6,7 +6,7 @@
+ #ifdef _WIN32
+ # define PIPENAME "\\\\?\\pipe\\netdata-cli"
+ #else
+-# define PIPENAME "/tmp/netdata-ipc"
++# define PIPENAME "/run/netdata/ipc"
+ #endif
+ 
+ #define MAX_COMMAND_LENGTH 4096
diff --git a/nixpkgs/pkgs/tools/system/rocm-smi/default.nix b/nixpkgs/pkgs/tools/system/rocm-smi/default.nix
index ac980e6c36cd..de9afdae2940 100644
--- a/nixpkgs/pkgs/tools/system/rocm-smi/default.nix
+++ b/nixpkgs/pkgs/tools/system/rocm-smi/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
     description = "System management interface for AMD GPUs supported by ROCm";
     homepage = "https://github.com/RadeonOpenCompute/ROC-smi";
     license = with licenses; [ mit ];
-    maintainers = with maintainers; [ danieldk ];
+    maintainers = with maintainers; [ ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/stress-ng/default.nix b/nixpkgs/pkgs/tools/system/stress-ng/default.nix
index 2e1c4e3a1fa4..8065355383a8 100644
--- a/nixpkgs/pkgs/tools/system/stress-ng/default.nix
+++ b/nixpkgs/pkgs/tools/system/stress-ng/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "stress-ng";
-  version = "0.12.04";
+  version = "0.12.11";
 
   src = fetchurl {
     url = "https://kernel.ubuntu.com/~cking/tarballs/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-tONL2o207TfjO3qGG8Bq13y70jTWMjbaLLWPAuPzIY4=";
+    sha256 = "sha256-lxOTB1Mhwkw9V2ms+rtwWRHR9BHO1ZN7fP6lhSjBtOY=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/system/tm/default.nix b/nixpkgs/pkgs/tools/system/tm/default.nix
index aa946c72ffc6..19ade9b929cb 100644
--- a/nixpkgs/pkgs/tools/system/tm/default.nix
+++ b/nixpkgs/pkgs/tools/system/tm/default.nix
@@ -1,26 +1,28 @@
-{lib, stdenv, fetchurl}:
+{ lib
+, stdenv
+, fetchurl
+}:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
+  pname = "tm";
+  version = "0.4.1";
 
-  name = "tm-0.4.1";
+  src = fetchurl {
+    url = "https://vicerveza.homeunix.net/~viric/soft/tm/tm-${version}.tar.gz";
+    sha256 = "3b389bc03b6964ad5ffa57a344b891fdbcf7c9b2604adda723a863f83657c4a0";
+  };
 
-  installPhase=''make install "PREFIX=$out"'';
+  makeFlags = [ "PREFIX=$(out)" ];
 
-  patchPhase = ''
+  postPatch = ''
     sed -i 's@/usr/bin/install@install@g ; s/gcc/cc/g' Makefile
   '';
 
-  src = fetchurl {
-    url = "http://vicerveza.homeunix.net/~viric/soft/tm/tm-0.4.1.tar.gz";
-    sha256 = "3b389bc03b6964ad5ffa57a344b891fdbcf7c9b2604adda723a863f83657c4a0";
-  };
-
   meta = with lib; {
-    homepage = "http://vicerveza.homeunix.net/~viric/soft/tm";
     description = "Terminal mixer - multiplexer for the i/o of terminal applications";
-    license = licenses.gpl2;
+    homepage = "http://vicerveza.homeunix.net/~viric/soft/tm";
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ viric ];
     platforms = platforms.all;
   };
-
 }
diff --git a/nixpkgs/pkgs/tools/text/chroma/default.nix b/nixpkgs/pkgs/tools/text/chroma/default.nix
index 6511d2dcdbb3..1b9cbcd3727a 100644
--- a/nixpkgs/pkgs/tools/text/chroma/default.nix
+++ b/nixpkgs/pkgs/tools/text/chroma/default.nix
@@ -1,30 +1,33 @@
-{ lib, buildGoModule, fetchFromGitHub, git }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "chroma";
-  version = "0.9.1";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner  = "alecthomas";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "sha256-+4UaQrJh3PBf68rlW1lOEyEVw3vWxfc+Casa5+H8F9A=";
+    sha256 = "19d7yr6q8kwrm91yyglmw9n7wa861sgi6dbwn8sl6dp55czfwvaq";
+    # populate values otherwise taken care of by goreleaser,
+    # unfortunately these 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"
 
-  nativeBuildInputs = [ git ];
+      commit="$(git rev-parse HEAD)"
+      date=$(git show -s --format=%aI "$commit")
 
-  # populate values otherwise taken care of by goreleaser
-  # https://github.com/alecthomas/chroma/issues/435
-  postPatch = ''
-    commit="$(git rev-parse HEAD)"
-    date=$(git show -s --format=%aI "$commit")
+      substituteInPlace "$out/cmd/chroma/main.go" \
+        --replace 'version = "?"' 'version = "${version}"' \
+        --replace 'commit  = "?"' "commit = \"$commit\"" \
+        --replace 'date    = "?"' "date = \"$date\""
 
-    substituteInPlace cmd/chroma/main.go \
-      --replace 'version = "?"' 'version = "${version}"' \
-      --replace 'commit  = "?"' "commit = \"$commit\"" \
-      --replace 'date    = "?"' "date = \"$date\""
-  '';
+      find "$out" -name .git -print0 | xargs -0 rm -rf
+    '';
+  };
 
   vendorSha256 = "0y8mp08zccn9qxrsj9j7vambz8dwzsxbbgrlppzam53rg8rpxhrg";
 
diff --git a/nixpkgs/pkgs/tools/text/hottext/default.nix b/nixpkgs/pkgs/tools/text/hottext/default.nix
index 6d361f50f35a..2e9d0a909a2a 100644
--- a/nixpkgs/pkgs/tools/text/hottext/default.nix
+++ b/nixpkgs/pkgs/tools/text/hottext/default.nix
@@ -67,7 +67,7 @@ in stdenv.mkDerivation rec {
 
   nimFlags = [ "-d:release" ] ++ map (lib: "--path:${lib}/src") nimLibs;
 
-  HOTTEXT_FONT_PATH = "${gentium}/share/fonts/truetype/GentiumPlus-R.ttf";
+  HOTTEXT_FONT_PATH = "${gentium}/share/fonts/truetype/GentiumPlus-Regular.ttf";
 
   buildPhase = ''
     runHook preBuild
diff --git a/nixpkgs/pkgs/tools/text/languagetool/default.nix b/nixpkgs/pkgs/tools/text/languagetool/default.nix
index 810e3feaa228..791d779bf833 100644
--- a/nixpkgs/pkgs/tools/text/languagetool/default.nix
+++ b/nixpkgs/pkgs/tools/text/languagetool/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "LanguageTool";
-  version = "5.3";
+  version = "5.4";
 
   src = fetchzip {
     url = "https://www.languagetool.org/download/${pname}-${version}.zip";
-    sha256 = "1km20ajqb65vkhkrf94zy5srcss66ix8padp7ng59pa8pj11wmi2";
+    sha256 = "sha256-2khadADfzwkW+J0uafPWJ6xUQRSQDm8seiBHueQGmKI=";
   };
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ jre ];
diff --git a/nixpkgs/pkgs/tools/text/mdbook/default.nix b/nixpkgs/pkgs/tools/text/mdbook/default.nix
index a8c5efb0a493..29007dd1282d 100644
--- a/nixpkgs/pkgs/tools/text/mdbook/default.nix
+++ b/nixpkgs/pkgs/tools/text/mdbook/default.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, CoreServices, darwin }:
+{ lib, stdenv, fetchFromGitHub, rustPlatform, CoreServices }:
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook";
-  version = "0.4.9";
+  version = "0.4.10";
 
   src = fetchFromGitHub {
     owner = "rust-lang-nursery";
     repo = "mdBook";
     rev = "v${version}";
-    sha256 = "sha256-wc3poiLnIHbbl0j2sWQkEbxccpohPnvjLPdNuKfsDSY=";
+    sha256 = "sha256-1Ddy/kb2Q7P+tzyEr3EC3qWm6MGSsDL3/vnPJLAm/J0=";
   };
 
-  cargoSha256 = "sha256-2DNfacPp9IMke2j8WYxpGmMxityaFGyXrc0jOyqPl3c=";
+  cargoSha256 = "sha256-x2BwnvEwTqz378aDE7OHWuEwNEsUnRudLq7sUJjHRpA=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
 
diff --git a/nixpkgs/pkgs/tools/text/mdcat/default.nix b/nixpkgs/pkgs/tools/text/mdcat/default.nix
index 6f6750b1b02c..e298a56c58c2 100644
--- a/nixpkgs/pkgs/tools/text/mdcat/default.nix
+++ b/nixpkgs/pkgs/tools/text/mdcat/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , rustPlatform
 , pkg-config
@@ -11,19 +12,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdcat";
-  version = "0.22.2";
+  version = "0.23.0";
 
   src = fetchFromGitHub {
     owner = "lunaryorn";
     repo = pname;
     rev = "mdcat-${version}";
-    hash = "sha256-i36MYTMkbSuWxxlWUDsyYMay/4Mg7M5jEFhHM60UrkM=";
+    hash = "sha256-bGXuYGQyrXa9gUEQfB7BF9K04z88r1UoM8R5gpL2nRM=";
   };
 
   nativeBuildInputs = [ pkg-config asciidoctor installShellFiles ];
-  buildInputs = [ openssl ] ++ lib.optional stdenv.isDarwin Security;
+  buildInputs = [ openssl ]
+    ++ lib.optional stdenv.isDarwin Security;
 
-  cargoSha256 = "sha256-y9yg4EQDL+RcD6NI7n6W/Hi6Tw4Wr1Kf6hbcIuidIf4=";
+  cargoSha256 = "sha256-hmv4LNk7NEYjT/5XXUpMd+xGS19KHOW+HIgsiFEWeig=";
 
   checkInputs = [ ansi2html ];
   # Skip tests that use the network and that include files.
@@ -32,6 +34,7 @@ rustPlatform.buildRustPackage rec {
     "--skip magic::tests::detect_mimetype_of_magic_param_bytes_max_length"
     "--skip magic::tests::detect_mimetype_of_png_image"
     "--skip magic::tests::detect_mimetype_of_svg_image"
+    "--skip resources::tests::read_url_with_http_url_fails_when_size_limit_is_exceeded"
     "--skip resources::tests::read_url_with_http_url_fails_when_status_404"
     "--skip resources::tests::read_url_with_http_url_returns_content_when_status_200"
     "--skip iterm2_tests_render_md_samples_images_md"
@@ -48,6 +51,6 @@ rustPlatform.buildRustPackage rec {
     description = "cat for markdown";
     homepage = "https://github.com/lunaryorn/mdcat";
     license = with licenses; [ asl20 ];
-    maintainers = with maintainers; [ davidtwco ];
+    maintainers = with maintainers; [ davidtwco SuperSandro2000 ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/text/num-utils/default.nix b/nixpkgs/pkgs/tools/text/num-utils/default.nix
new file mode 100644
index 000000000000..14784a4e8cfc
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/num-utils/default.nix
@@ -0,0 +1,29 @@
+{ lib, stdenv, fetchurl, perl }:
+
+stdenv.mkDerivation rec {
+  pname = "num-utils";
+  version = "0.5";
+
+  src = fetchurl {
+    url = "https://suso.suso.org/programs/num-utils/downloads/num-utils-${version}.tar.gz";
+    sha256 = "0kn6yskjww2agcqvas5l2xp55mp4njdxqkdicchlji3qzih2fn83";
+  };
+
+  buildInputs = [ perl ];
+
+  patchPhase = ''
+    substituteInPlace Makefile --replace "-o 0 -g 0" "" --replace "\$(RPMDIR)" ""
+  '';
+  makeFlags = [
+    "TOPDIR=${placeholder "out"}"
+    "PERL=${perl}/bin/perl"
+  ];
+
+  meta = with lib; {
+    description = "Programs for dealing with numbers from the command line";
+    homepage = "https://suso.suso.org/xulu/Num-utils";
+    license = licenses.gpl2Plus;
+    platforms = platforms.all;
+    maintainers = [ maintainers.catern ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/text/sd/default.nix b/nixpkgs/pkgs/tools/text/sd/default.nix
index 1536e72ad29e..009150062db2 100644
--- a/nixpkgs/pkgs/tools/text/sd/default.nix
+++ b/nixpkgs/pkgs/tools/text/sd/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, Security
+{ lib, stdenv, fetchFromGitHub, rustPlatform, installShellFiles, Security
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -14,8 +14,17 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "1iwgy9zzdxay6hb9pz47jchy03jrsy5csxijlq4i228qhqnvq1lr";
 
+  nativeBuildInputs = [ installShellFiles ];
+
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
+  preFixup = ''
+    installManPage $releaseDir/build/sd-*/out/sd.1
+
+    installShellCompletion $releaseDir/build/sd-*/out/sd.{bash,fish}
+    installShellCompletion --zsh $releaseDir/build/sd-*/out/_sd
+  '';
+
   meta = with lib; {
     description = "Intuitive find & replace CLI (sed alternative)";
     homepage = "https://github.com/chmln/sd";
diff --git a/nixpkgs/pkgs/tools/typesetting/asciidoctor/Gemfile.lock b/nixpkgs/pkgs/tools/typesetting/asciidoctor/Gemfile.lock
index 4e321311f28c..3240f65167e1 100644
--- a/nixpkgs/pkgs/tools/typesetting/asciidoctor/Gemfile.lock
+++ b/nixpkgs/pkgs/tools/typesetting/asciidoctor/Gemfile.lock
@@ -5,15 +5,15 @@ GEM
     addressable (2.7.0)
       public_suffix (>= 2.0.2, < 5.0)
     afm (0.2.2)
-    asciidoctor (2.0.12)
-    asciidoctor-diagram (2.1.0)
+    asciidoctor (2.0.15)
+    asciidoctor-diagram (2.1.2)
       asciidoctor (>= 1.5.7, < 3.x)
-      asciidoctor-diagram-ditaamini (~> 0.13)
+      asciidoctor-diagram-ditaamini (~> 1.0.0)
       asciidoctor-diagram-plantuml (~> 1.2021)
       rexml
-    asciidoctor-diagram-ditaamini (0.13.1)
-    asciidoctor-diagram-plantuml (1.2021.0)
-    asciidoctor-epub3 (1.5.0.alpha.19)
+    asciidoctor-diagram-ditaamini (1.0.0)
+    asciidoctor-diagram-plantuml (1.2021.7)
+    asciidoctor-epub3 (1.5.1)
       asciidoctor (>= 1.5.6, < 3.0.0)
       gepub (~> 1.0.0)
       mime-types (~> 3.0)
@@ -21,67 +21,66 @@ GEM
       asciidoctor (~> 2.0)
       asciimath (~> 2.0)
       mathematical (~> 1.6.0)
-    asciidoctor-pdf (1.5.4)
-      asciidoctor (>= 1.5.3, < 3.0.0)
-      concurrent-ruby (~> 1.1.0)
-      prawn (~> 2.2.0)
-      prawn-icon (~> 2.5.0)
-      prawn-svg (~> 0.31.0)
+    asciidoctor-pdf (1.6.0)
+      asciidoctor (~> 2.0)
+      concurrent-ruby (~> 1.1)
+      prawn (~> 2.4.0)
+      prawn-icon (~> 3.0.0)
+      prawn-svg (~> 0.32.0)
       prawn-table (~> 0.2.0)
       prawn-templates (~> 0.1.0)
       safe_yaml (~> 1.0.0)
-      thread_safe (~> 0.3.0)
       treetop (~> 1.6.0)
-      ttfunk (~> 1.5.0, >= 1.5.1)
     asciidoctor-revealjs (4.1.0)
       asciidoctor (>= 2.0.0, < 3.0.0)
       concurrent-ruby (~> 1.0)
       thread_safe (~> 0.3.5)
     asciimath (2.0.2)
     coderay (1.1.3)
-    concurrent-ruby (1.1.8)
+    concurrent-ruby (1.1.9)
     css_parser (1.9.0)
       addressable
     gepub (1.0.13)
       nokogiri (>= 1.8.2, < 1.12)
       rubyzip (> 1.1.1, < 2.4)
     hashery (2.1.2)
-    i18n (1.8.9)
+    i18n (1.8.10)
       concurrent-ruby (~> 1.0)
     mathematical (1.6.14)
       ruby-enum (~> 0.4)
     mime-types (3.3.1)
       mime-types-data (~> 3.2015)
     mime-types-data (3.2021.0225)
-    mini_portile2 (2.5.0)
-    nokogiri (1.11.1)
+    mini_portile2 (2.5.3)
+    nokogiri (1.11.7)
       mini_portile2 (~> 2.5.0)
       racc (~> 1.4)
-    pdf-core (0.7.0)
-    pdf-reader (2.4.2)
+    pdf-core (0.9.0)
+    pdf-reader (2.5.0)
       Ascii85 (~> 1.0)
       afm (~> 0.2.1)
       hashery (~> 2.0)
       ruby-rc4
       ttfunk
     polyglot (0.3.5)
-    prawn (2.2.2)
-      pdf-core (~> 0.7.0)
-      ttfunk (~> 1.5)
-    prawn-icon (2.5.0)
+    prawn (2.4.0)
+      pdf-core (~> 0.9.0)
+      ttfunk (~> 1.7)
+    prawn-icon (3.0.0)
       prawn (>= 1.1.0, < 3.0.0)
-    prawn-svg (0.31.0)
+    prawn-svg (0.32.0)
       css_parser (~> 1.6)
       prawn (>= 0.11.1, < 3)
+      rexml (~> 3.2)
     prawn-table (0.2.2)
       prawn (>= 1.3.0, < 3.0.0)
     prawn-templates (0.1.2)
       pdf-reader (~> 2.0)
       prawn (~> 2.2)
     public_suffix (4.0.6)
-    pygments.rb (2.1.0)
+    pygments.rb (2.2.0)
     racc (1.5.2)
-    rexml (3.2.4)
+    rexml (3.2.5)
     rouge (3.26.0)
     ruby-enum (0.9.0)
       i18n
@@ -91,7 +90,7 @@ GEM
     thread_safe (0.3.6)
     treetop (1.6.11)
       polyglot (~> 0.3)
-    ttfunk (1.5.1)
+    ttfunk (1.7.0)
 
 PLATFORMS
   ruby
diff --git a/nixpkgs/pkgs/tools/typesetting/asciidoctor/gemset.nix b/nixpkgs/pkgs/tools/typesetting/asciidoctor/gemset.nix
index 19106214c263..6fe57ff48565 100644
--- a/nixpkgs/pkgs/tools/typesetting/asciidoctor/gemset.nix
+++ b/nixpkgs/pkgs/tools/typesetting/asciidoctor/gemset.nix
@@ -35,10 +35,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gjk9v83vw0pz4x0xqqnw231z9sgscm6vnacjw7hy5njkw8fskj9";
+      sha256 = "0k3lijm4dmiz977bfmpclk5glj5jwv7bidamwwwywm60ywb0n4n4";
       type = "gem";
     };
-    version = "2.0.12";
+    version = "2.0.15";
   };
   asciidoctor-diagram = {
     dependencies = ["asciidoctor" "asciidoctor-diagram-ditaamini" "asciidoctor-diagram-plantuml" "rexml"];
@@ -46,30 +46,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fh73k306q1x4rzsly2fy1rdq1kpkdvs3r1084hgk0sh516ksc0s";
+      sha256 = "09ci775f7y7d6spn0fl5wfmfyxianjp4z0p3fwcrzajy63f381v9";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "2.1.2";
   };
   asciidoctor-diagram-ditaamini = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08jwpyklcplmfcxs4z9z0b0la6xdwrnf9bk6c02y54502228bg6b";
+      sha256 = "1frnjz0j00v5hqp5macgnn6jq77jcpjy2l6hqmn5jn5ds7bmi2rl";
       type = "gem";
     };
-    version = "0.13.1";
+    version = "1.0.0";
   };
   asciidoctor-diagram-plantuml = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bxlkq3k775lhhnbs85cx8cbixhw7p70hnxrqnnig470h6jhmj0b";
+      sha256 = "1kcxwbaancxfq08fr7syg8mxsi97jiczxyp4an2x0ymq3mkss0k8";
       type = "gem";
     };
-    version = "1.2021.0";
+    version = "1.2021.7";
   };
   asciidoctor-epub3 = {
     dependencies = ["asciidoctor" "gepub" "mime-types"];
@@ -77,10 +77,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fgi0rb8026k0a43wnanan6nzc8386azygmfl4zv7c9vram4nr6h";
+      sha256 = "05lylv2k18vcnf3647n47zdqxpa70bg16znzn252ymp8say25zzg";
       type = "gem";
     };
-    version = "1.5.0.alpha.19";
+    version = "1.5.1";
   };
   asciidoctor-mathematical = {
     dependencies = ["asciidoctor" "asciimath" "mathematical"];
@@ -94,15 +94,15 @@
     version = "0.3.5";
   };
   asciidoctor-pdf = {
-    dependencies = ["asciidoctor" "concurrent-ruby" "prawn" "prawn-icon" "prawn-svg" "prawn-table" "prawn-templates" "safe_yaml" "thread_safe" "treetop" "ttfunk"];
+    dependencies = ["asciidoctor" "concurrent-ruby" "prawn" "prawn-icon" "prawn-svg" "prawn-table" "prawn-templates" "safe_yaml" "treetop"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k8hn9lrvr08grqx17x2vrllw5qmfh0j08wp56464w2pj279ka67";
+      sha256 = "0sxfz3qp2j76jlab7fb1d1ylbf0h2nnbkhg019qqch5wkd4k1iw9";
       type = "gem";
     };
-    version = "1.5.4";
+    version = "1.6.0";
   };
   asciidoctor-revealjs = {
     dependencies = ["asciidoctor" "concurrent-ruby" "thread_safe"];
@@ -140,10 +140,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mr23wq0szj52xnj0zcn1k0c7j4v79wlwbijkpfcscqww3l6jlg3";
+      sha256 = "0nwad3211p7yv9sda31jmbyw6sdafzmdi2i2niaz6f0wk5nq9h0f";
       type = "gem";
     };
-    version = "1.1.8";
+    version = "1.1.9";
   };
   css_parser = {
     dependencies = ["addressable"];
@@ -183,10 +183,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08p6b13p99j1rrcrw1l3v0kb9mxbsvy6nk31r8h4rnszdgzpga32";
+      sha256 = "0g2fnag935zn2ggm5cn6k4s4xvv53v2givj1j90szmvavlpya96a";
       type = "gem";
     };
-    version = "1.8.9";
+    version = "1.8.10";
   };
   mathematical = {
     dependencies = ["ruby-enum"];
@@ -225,10 +225,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hdbpmamx8js53yk3h8cqy12kgv6ca06k0c9n3pxh6b6cjfs19x7";
+      sha256 = "1ad0mli9rc0f17zw4ibp24dbj1y39zkykijsjmnzl4gwpg5s0j6k";
       type = "gem";
     };
-    version = "2.5.0";
+    version = "2.5.3";
   };
   nokogiri = {
     dependencies = ["mini_portile2" "racc"];
@@ -236,20 +236,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ajwkqr28hwqbyl1l3czx4a34c88acxywyqp8cjyy0zgsd6sbhj2";
+      sha256 = "1vrn31385ix5k9b0yalnlzv360isv6dincbcvi8psllnwz4sjxj9";
       type = "gem";
     };
-    version = "1.11.1";
+    version = "1.11.7";
   };
   pdf-core = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19llwch2wfg51glb0kff0drfp3n6nb9vim4zlvzckxysksvxpby1";
+      sha256 = "1fz0yj4zrlii2j08kaw11j769s373ayz8jrdhxwwjzmm28pqndjg";
       type = "gem";
     };
-    version = "0.7.0";
+    version = "0.9.0";
   };
   pdf-reader = {
     dependencies = ["Ascii85" "afm" "hashery" "ruby-rc4" "ttfunk"];
@@ -257,10 +257,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cxladxy18dhk4a3b263crq8hyxb3q0c7ifxrb5nr1bs6y0pk8i6";
+      sha256 = "14cxj3ra9nnn334qpm2vsx9s0zk3095s8ih6cwcp47h3hv03c73y";
       type = "gem";
     };
-    version = "2.4.2";
+    version = "2.5.0";
   };
   polyglot = {
     groups = ["default"];
@@ -278,10 +278,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qdjf1v6sfl44g3rqxlg8k4jrzkwaxgvh2l4xws97a8f3xv4na4m";
+      sha256 = "1g9avv2rprsjisdk137s9ljr05r7ajhm78hxa1vjsv0jyx22f1l2";
       type = "gem";
     };
-    version = "2.2.2";
+    version = "2.4.0";
   };
   prawn-icon = {
     dependencies = ["prawn"];
@@ -289,21 +289,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ivkdf8rdf92hhy97vbmc2a4w97vcvqd58jcj4z9hz3hfsb1526w";
+      sha256 = "1xdnjik5zinnkjavmybbh2s52wzcpb8hzaqckiv0mxp0vs0x9j6s";
       type = "gem";
     };
-    version = "2.5.0";
+    version = "3.0.0";
   };
   prawn-svg = {
-    dependencies = ["css_parser" "prawn"];
+    dependencies = ["css_parser" "prawn" "rexml"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rb5hmjqc4hvy6liw9y51y6glbw66f09r09w0nvdfxhfi2kka16l";
+      sha256 = "0mbxzw7r7hv43db9422flc24ib9d8bdy1nasbni2h998jc5a5lb6";
       type = "gem";
     };
-    version = "0.31.0";
+    version = "0.32.0";
   };
   prawn-table = {
     dependencies = ["prawn"];
@@ -342,10 +342,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1736rbjgin97p3vjknz60p6dl66c936djwsk7wnwvwmav8r1nx0y";
+      sha256 = "1mshqjh8v0v8k29f8annqfr4qlgkp39nbwx3sgm69aymv4skfddb";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "2.2.0";
   };
   racc = {
     groups = ["default"];
@@ -362,10 +362,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mkvkcw9fhpaizrhca0pdgjcrbns48rlz4g6lavl5gjjq3rk2sq3";
+      sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53";
       type = "gem";
     };
-    version = "3.2.4";
+    version = "3.2.5";
   };
   rouge = {
     groups = ["default"];
@@ -444,9 +444,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mgrnqla5n51v4ivn844albsajkck7k6lviphfqa8470r46c58cd";
+      sha256 = "15iaxz9iak5643bq2bc0jkbjv8w2zn649lxgvh5wg48q9d4blw13";
       type = "gem";
     };
-    version = "1.5.1";
+    version = "1.7.0";
   };
 }
diff --git a/nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix b/nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix
index c21a5dda994a..c26b944522c9 100644
--- a/nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix
@@ -160,35 +160,12 @@ let
         "https://texlive.info/tlnet-archive/${snapshot.year}/${snapshot.month}/${snapshot.day}/tlnet/archive"
       ];
 
-      src = fetchurl { inherit urls sha512; };
-
-      passthru = {
-        inherit pname tlType version;
-      } // lib.optionalAttrs (sha512 != "") { inherit src; };
-      unpackCmd = file: ''
-        tar -xf ${file} \
-          '--strip-components=${toString stripPrefix}' \
-          -C "$out" --anchored --exclude=tlpkg --keep-old-files
-      '' + postUnpack;
-
-    in if sha512 == "" then
-      # hash stripped from pkgs.nix to save space -> fetch&unpack in a single step
-      # currently unused as we prefer to keep the sha512 hashes for reproducibility
-      fetchurl {
-        inherit urls;
-        sha1 = if fixedHash == null then throw "TeX Live package ${tlName} is missing hash!"
-          else fixedHash;
-        name = tlName;
-        recursiveHash = true;
-        downloadToTemp = true;
-        postFetch = ''mkdir "$out";'' + unpackCmd "$downloadedFile";
-        # TODO: perhaps override preferHashedMirrors and allowSubstitutes
-     }
-        // passthru
-
-    else runCommand "texlive-${tlName}"
+    in runCommand "texlive-${tlName}"
       ( {
-          inherit passthru;
+          src = fetchurl { inherit urls sha512; };
+          inherit stripPrefix;
+          # metadata for texlive.combine
+          passthru = { inherit pname tlType version; };
         } // lib.optionalAttrs (fixedHash != null) {
           outputHash = fixedHash;
           outputHashAlgo = "sha1";
@@ -197,7 +174,10 @@ let
       )
       ( ''
           mkdir "$out"
-        '' + unpackCmd "'${src}'"
+          tar -xf "$src" \
+          --strip-components="$stripPrefix" \
+          -C "$out" --anchored --exclude=tlpkg --keep-old-files
+        '' + postUnpack
       );
 
   # combine a set of TL packages into a single TL meta-package
diff --git a/nixpkgs/pkgs/tools/video/bento4/default.nix b/nixpkgs/pkgs/tools/video/bento4/default.nix
index 6ee7c844994e..00180078d9d9 100644
--- a/nixpkgs/pkgs/tools/video/bento4/default.nix
+++ b/nixpkgs/pkgs/tools/video/bento4/default.nix
@@ -3,25 +3,29 @@
 }:
 stdenv.mkDerivation rec {
   pname = "bento4";
-  version = "1.6.0-637";
+  version = "1.6.0-638";
 
   src = fetchFromGitHub {
     owner = "axiomatic-systems";
     repo = "Bento4";
     rev = "v${version}";
-    sha256 = "0iwqi71nj0iczffvpxmz0prvmmnyiqypfwvzivkh38wl0br82bkp";
+    sha256 = "1hxr4lds4dl46advshk7azg28fcpcjaa5pzk2zzpsc9l69s0bnxk";
   };
 
-  patches = [ ./libap4.patch ];
+  patches = [
+    ./libap4.patch # include all libraries as shared, not static
+  ];
 
   nativeBuildInputs = [ cmake ];
 
   cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
 
   installPhase = ''
+    runHook preInstall
     mkdir -p $out/{lib,bin}
     find -iname '*.so' -exec mv --target-directory="$out/lib" {} \;
     find -maxdepth 1 -executable -type f -exec mv --target-directory="$out/bin" {} \;
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/video/svt-av1/default.nix b/nixpkgs/pkgs/tools/video/svt-av1/default.nix
index 69ded2307de4..fd572fabae3e 100644
--- a/nixpkgs/pkgs/tools/video/svt-av1/default.nix
+++ b/nixpkgs/pkgs/tools/video/svt-av1/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchFromGitHub, cmake, nasm }:
+{ lib, stdenv, fetchFromGitLab, cmake, nasm }:
 
 stdenv.mkDerivation rec {
   pname = "svt-av1";
-  version = "0.8.6";
+  version = "0.8.7";
 
-  src = fetchFromGitHub {
+  src = fetchFromGitLab {
     owner = "AOMediaCodec";
     repo = "SVT-AV1";
     rev = "v${version}";
-    sha256 = "1wzamg89azi1f93wxvdy7silsgklckc754ca066k33drvyacicyw";
+    sha256 = "1xlxb6kn6hqz9dxz0nd905m4i2mwjwq1330rbabwzmg4b66cdslg";
   };
 
   nativeBuildInputs = [ cmake nasm ];
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
       activities.
     '';
     inherit (src.meta) homepage;
-    changelog = "https://github.com/AOMediaCodec/SVT-AV1/blob/v${version}/CHANGELOG.md";
+    changelog = "https://gitlab.com/AOMediaCodec/SVT-AV1/-/blob/v${version}/CHANGELOG.md";
     license = with licenses; [
       bsd2
       {
diff --git a/nixpkgs/pkgs/tools/virtualization/cloud-init/default.nix b/nixpkgs/pkgs/tools/virtualization/cloud-init/default.nix
index dfd3321b6b62..1a0188127aa9 100644
--- a/nixpkgs/pkgs/tools/virtualization/cloud-init/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/cloud-init/default.nix
@@ -18,14 +18,14 @@
 
 buildPythonApplication rec {
   pname = "cloud-init";
-  version = "20.3";
+  version = "21.2";
   namePrefix = "";
 
   src = fetchFromGitHub {
     owner = "canonical";
     repo = "cloud-init";
     rev = version;
-    sha256 = "1fmckxf4q4sxjqs758vw7ca0rnhl9hyq67cqpqzz2v3s1gqzjhm4";
+    sha256 = "0vhjkgs49ixfa3kkj5s3v3gcxvypm3cdvfk6adrk2bx3wv2cbhvz";
   };
 
   patches = [ ./0001-add-nixos-support.patch ];
@@ -59,9 +59,7 @@ buildPythonApplication rec {
   ];
 
   makeWrapperArgs = [
-    "--prefix PATH : ${lib.makeBinPath [
-      dmidecode cloud-utils.guest
-    ]}/bin"
+    "--prefix PATH : ${lib.makeBinPath [ dmidecode cloud-utils.guest ]}/bin"
   ];
 
   disabledTests = [
@@ -71,6 +69,27 @@ buildPythonApplication rec {
     "test_path_env_gets_set_from_main"
     # tries to read from /etc/ca-certificates.conf while inside the sandbox
     "test_handler_ca_certs"
+    # Doesn't work in the sandbox
+    "TestEphemeralDhcpNoNetworkSetup"
+    "TestHasURLConnectivity"
+    "TestReadFileOrUrl"
+    "TestConsumeUserDataHttp"
+    # Chef Omnibus
+    "TestInstallChefOmnibus"
+  ];
+
+  disabledTestPaths = [
+    # Oracle tests are not passing
+    "cloudinit/sources/tests/test_oracle.py"
+    # Disable the integration tests. pycloudlib would be required
+    "tests/unittests/test_datasource/test_aliyun.py"
+    "tests/unittests/test_datasource/test_azure.py"
+    "tests/unittests/test_datasource/test_ec2.py"
+    "tests/unittests/test_datasource/test_exoscale.py"
+    "tests/unittests/test_datasource/test_gce.py"
+    "tests/unittests/test_datasource/test_openstack.py"
+    "tests/unittests/test_datasource/test_scaleway.py"
+    "tests/unittests/test_ec2_util.py"
   ];
 
   preCheck = ''
@@ -78,6 +97,8 @@ buildPythonApplication rec {
     export TMPDIR=/tmp
   '';
 
+  pythonImportsCheck = [ "cloudinit" ];
+
   meta = with lib; {
     homepage = "https://cloudinit.readthedocs.org";
     description = "Provides configuration and customization of cloud instance";
diff --git a/nixpkgs/pkgs/tools/wayland/wayland-proxy-virtwl/default.nix b/nixpkgs/pkgs/tools/wayland/wayland-proxy-virtwl/default.nix
new file mode 100644
index 000000000000..8673200172e4
--- /dev/null
+++ b/nixpkgs/pkgs/tools/wayland/wayland-proxy-virtwl/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, fetchFromGitHub
+, ocamlPackages
+}:
+
+ocamlPackages.buildDunePackage rec {
+  pname = "wayland-proxy-virtwl";
+  version = "unstable-2021-04-15";
+
+  src = fetchFromGitHub {
+    owner = "talex5";
+    repo = pname;
+    rev = "09321a28f3d4c0fa7e41ebb3014106b62090b649";
+    sha256 = "03rc2jp5d2y9y7mfis6kk9gchd49gvq0jg6fq5gi9r21ckb4k5v4";
+  };
+
+  postPatch = ''
+    # no need to vendor
+    rm -r ocaml-wayland
+  '';
+
+  useDune2 = true;
+  minimumOCamlVersion = "4.08";
+
+  buildInputs = with ocamlPackages; [
+    wayland
+    cmdliner
+    logs
+  ];
+
+  meta = {
+    homepage = "https://github.com/talex5/wayland-virtwl-proxy";
+    description = "Proxy Wayland connections across a VM boundary";
+    license = lib.licenses.asl20;
+    maintainers = [ lib.maintainers.sternenseemann ];
+  };
+}
diff --git a/nixpkgs/pkgs/top-level/aliases.nix b/nixpkgs/pkgs/top-level/aliases.nix
index a7726aa1163e..f837f4a2b6bb 100644
--- a/nixpkgs/pkgs/top-level/aliases.nix
+++ b/nixpkgs/pkgs/top-level/aliases.nix
@@ -88,6 +88,14 @@ mapAliases ({
   bittorrentSync = throw "bittorrentSync has been deprecated by resilio-sync."; # added 2019-06-03
   bittorrentSync14 = throw "bittorrentSync14 has been deprecated by resilio-sync."; # added 2019-06-03
   bittorrentSync20 = throw "bittorrentSync20 has been deprecated by resilio-sync."; # added 2019-06-03
+
+  # bitwarden_rs renamed to vaultwarden with release 1.21.0 (2021-04-30)
+  bitwarden_rs = vaultwarden;
+  bitwarden_rs-sqlite = vaultwarden-sqlite;
+  bitwarden_rs-mysql = vaultwarden-mysql;
+  bitwarden_rs-postgresql = vaultwarden-postgresql;
+  bitwarden_rs-vault = vaultwarden-vault;
+
   bs1770gain = throw "bs1770gain has been removed from nixpkgs, as it had no maintainer or reverse dependencies."; # added 2021-01-02
   btc1 = throw "btc1 has been removed, it was abandoned by upstream"; # added 2020-11-03
   buildPerlPackage = perlPackages.buildPerlPackage; # added 2018-10-12
diff --git a/nixpkgs/pkgs/top-level/all-packages.nix b/nixpkgs/pkgs/top-level/all-packages.nix
index a605c8f10147..e764ab43ae72 100644
--- a/nixpkgs/pkgs/top-level/all-packages.nix
+++ b/nixpkgs/pkgs/top-level/all-packages.nix
@@ -474,6 +474,8 @@ in
 
   pkger = callPackage ../development/libraries/pkger { };
 
+  tapview = callPackage ../development/tools/tapview { };
+
   run = callPackage ../development/tools/run { };
 
   mod = callPackage ../development/tools/mod { };
@@ -799,6 +801,8 @@ in
 
   acme-client = callPackage ../tools/networking/acme-client { stdenv = gccStdenv; };
 
+  adriconf = callPackage ../tools/graphics/adriconf { };
+
   amass = callPackage ../tools/networking/amass { };
 
   afew = callPackage ../applications/networking/mailreaders/afew { };
@@ -869,6 +873,10 @@ in
     libgamemode32 = pkgsi686Linux.gamemode.lib;
   };
 
+  elkhound = callPackage ../development/tools/elkhound { };
+
+  weidu = callPackage ../tools/games/weidu { };
+
   gfshare = callPackage ../tools/security/gfshare { };
 
   gobgp = callPackage ../tools/networking/gobgp { };
@@ -1017,6 +1025,8 @@ in
 
   timedoctor = callPackage ../applications/office/timedoctor { };
 
+  tvnamer = callPackage ../tools/misc/tvnamer { };
+
   twine = with python3Packages; toPythonApplication twine;
 
   wayst = callPackage ../applications/terminal-emulators/wayst { };
@@ -1082,6 +1092,8 @@ in
 
   apkid = callPackage ../development/tools/apkid { };
 
+  apksigcopier = callPackage ../development/tools/apksigcopier { };
+
   apktool = callPackage ../development/tools/apktool {
     inherit (androidenv.androidPkgs_9_0) build-tools;
   };
@@ -1300,21 +1312,14 @@ in
 
   bcachefs-tools = callPackage ../tools/filesystems/bcachefs-tools { };
 
+  bisq-desktop = callPackage ../applications/blockchains/bisq-desktop { };
+
   bit = callPackage ../applications/version-management/git-and-tools/bit { };
 
   bitwarden = callPackage ../tools/security/bitwarden { };
 
   inherit (nodePackages) bitwarden-cli;
 
-  bitwarden_rs = callPackage ../tools/security/bitwarden_rs {
-    inherit (darwin.apple_sdk.frameworks) Security CoreServices;
-  };
-  bitwarden_rs-sqlite = bitwarden_rs;
-  bitwarden_rs-mysql = bitwarden_rs.override { dbBackend = "mysql"; };
-  bitwarden_rs-postgresql = bitwarden_rs.override { dbBackend = "postgresql"; };
-
-  bitwarden_rs-vault = callPackage ../tools/security/bitwarden_rs/vault.nix { };
-
   bkyml = callPackage ../tools/misc/bkyml { };
 
   blockbench-electron = callPackage ../applications/graphics/blockbench-electron { };
@@ -2297,6 +2302,8 @@ in
 
   wayland-utils = callPackage ../tools/wayland/wayland-utils { };
 
+  wayland-proxy-virtwl = callPackage ../tools/wayland/wayland-proxy-virtwl { };
+
   wev = callPackage ../tools/wayland/wev { };
 
   wdomirror = callPackage ../tools/wayland/wdomirror { };
@@ -2786,7 +2793,10 @@ in
       Accelerate CoreGraphics CoreVideo;
   };
 
-  gpg-tui = callPackage ../tools/security/gpg-tui { };
+  gpg-tui = callPackage ../tools/security/gpg-tui {
+    inherit (darwin.apple_sdk.frameworks) AppKit Foundation;
+    inherit (darwin) libobjc libresolv;
+  };
 
   goa = callPackage ../development/tools/goa { };
 
@@ -2886,6 +2896,8 @@ in
 
   jiten = callPackage ../applications/misc/jiten { };
 
+  kanjidraw = callPackage ../applications/misc/kanjidraw { };
+
   jotta-cli = callPackage ../applications/misc/jotta-cli { };
 
   joycond = callPackage ../os-specific/linux/joycond { };
@@ -2950,6 +2962,8 @@ in
 
   numworks-udev-rules = callPackage ../os-specific/linux/numworks-udev-rules { };
 
+  num-utils = callPackage ../tools/text/num-utils { };
+
   iio-sensor-proxy = callPackage ../os-specific/linux/iio-sensor-proxy { };
 
   ipvsadm = callPackage ../os-specific/linux/ipvsadm { };
@@ -3144,6 +3158,8 @@ in
 
   ps_mem = callPackage ../tools/system/ps_mem { };
 
+  pscale = callPackage ../development/tools/pscale { };
+
   psstop = callPackage ../tools/system/psstop { };
 
   precice = callPackage ../development/libraries/precice { };
@@ -3815,6 +3831,11 @@ in
 
   agebox = callPackage ../tools/security/agebox { };
 
+  bore = callPackage ../tools/networking/bore {
+    inherit (darwin) Libsystem;
+    inherit (darwin.apple_sdk.frameworks) SystemConfiguration;
+  };
+
   brotli = callPackage ../tools/compression/brotli { };
 
   biosdevname = callPackage ../tools/networking/biosdevname { };
@@ -4716,7 +4737,9 @@ in
 
   flatpak = callPackage ../development/libraries/flatpak { };
 
-  flatpak-builder = callPackage ../development/tools/flatpak-builder { };
+  flatpak-builder = callPackage ../development/tools/flatpak-builder {
+    binutils = binutils-unwrapped;
+  };
 
   fltrdr = callPackage ../tools/misc/fltrdr {
     icu = icu63;
@@ -4958,6 +4981,8 @@ in
 
   exfat = callPackage ../tools/filesystems/exfat { };
 
+  exfatprogs = callPackage ../tools/filesystems/exfatprogs { };
+
   dos2unix = callPackage ../tools/text/dos2unix { };
 
   uni2ascii = callPackage ../tools/text/uni2ascii { };
@@ -5044,6 +5069,8 @@ in
 
   ghr = callPackage ../applications/version-management/git-and-tools/ghr { };
 
+  gibberish-detector = with python3Packages; toPythonApplication gibberish-detector;
+
   gibo = callPackage ../tools/misc/gibo { };
 
   gifsicle = callPackage ../tools/graphics/gifsicle { };
@@ -5302,9 +5329,7 @@ in
 
   gnome-podcasts = callPackage ../applications/audio/gnome-podcasts { };
 
-  gnome-photos = callPackage ../applications/graphics/gnome-photos {
-    gegl = gegl_0_4;
-  };
+  gnome-photos = callPackage ../applications/graphics/gnome-photos { };
 
   gnokii = callPackage ../tools/misc/gnokii { };
 
@@ -5611,6 +5636,8 @@ in
 
   pgloader = callPackage ../development/tools/pgloader { };
 
+  pgtop = callPackage ../development/tools/pgtop { };
+
   pigz = callPackage ../tools/compression/pigz { };
 
   pixz = callPackage ../tools/compression/pixz { };
@@ -7665,6 +7692,8 @@ in
 
   otfcc = callPackage ../tools/misc/otfcc { };
 
+  otpclient = callPackage ../applications/misc/otpclient { };
+
   otpw = callPackage ../os-specific/linux/otpw { };
 
   ovftool = callPackage ../tools/virtualization/ovftool { };
@@ -7915,11 +7944,7 @@ in
 
   pk2cmd = callPackage ../tools/misc/pk2cmd { };
 
-  plantuml = callPackage ../tools/misc/plantuml {
-    # Graphviz 2.39 and 2.40 are discouraged by the PlantUML project, see
-    # http://plantuml.com/faq (heading: "Which version of Graphviz should I use ?")
-    graphviz = graphviz_2_32;
-  };
+  plantuml = callPackage ../tools/misc/plantuml { };
 
   plantuml-server = callPackage ../tools/misc/plantuml-server { };
 
@@ -8200,6 +8225,8 @@ in
 
   qhull = callPackage ../development/libraries/qhull { };
 
+  qjournalctl = libsForQt5.callPackage ../applications/system/qjournalctl { };
+
   qjoypad = callPackage ../tools/misc/qjoypad { };
 
   qmk = callPackage ../tools/misc/qmk { };
@@ -10167,6 +10194,8 @@ in
 
   yafaray-core = callPackage ../tools/graphics/yafaray-core { };
 
+  yajsv = callPackage ../tools/misc/yajsv { };
+
   yapf = with python3Packages; toPythonApplication yapf;
 
   yarn = callPackage ../development/tools/yarn  { };
@@ -11865,19 +11894,19 @@ in
     inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
     llvm_10 = llvmPackages_10.libllvm;
   };
-  rust_1_52 = callPackage ../development/compilers/rust/1_52.nix {
+  rust_1_53 = callPackage ../development/compilers/rust/1_53.nix {
     inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
     llvm_12 = llvmPackages_12.libllvm;
   };
-  rust = rust_1_52;
+  rust = rust_1_53;
 
   mrustc = callPackage ../development/compilers/mrustc { };
   mrustc-minicargo = callPackage ../development/compilers/mrustc/minicargo.nix { };
   mrustc-bootstrap = callPackage ../development/compilers/mrustc/bootstrap.nix { };
 
   rustPackages_1_45 = rust_1_45.packages.stable;
-  rustPackages_1_52 = rust_1_52.packages.stable;
-  rustPackages = rustPackages_1_52;
+  rustPackages_1_53 = rust_1_53.packages.stable;
+  rustPackages = rustPackages_1_53;
 
   inherit (rustPackages) cargo clippy rustc rustPlatform;
 
@@ -12313,7 +12342,7 @@ in
   erlang_nox = beam_nox.interpreters.erlang;
 
   inherit (beam.packages.erlang)
-    erlang-ls
+    erlang-ls erlfmt
     rebar rebar3 rebar3WithPlugins
     fetchHex beamPackages;
 
@@ -12428,10 +12457,6 @@ in
 
   mujs = callPackage ../development/interpreters/mujs { };
 
-  nix-exec = callPackage ../development/interpreters/nix-exec {
-    git = gitMinimal;
-  };
-
   octave = callPackage ../development/interpreters/octave {
     python = python3;
     mkDerivation = stdenv.mkDerivation;
@@ -13216,6 +13241,8 @@ in
 
   cfr = callPackage ../development/tools/java/cfr { };
 
+  checkra1n = callPackage ../development/mobile/checkra1n { };
+
   checkstyle = callPackage ../development/tools/analysis/checkstyle { };
 
   chromedriver = callPackage ../development/tools/selenium/chromedriver { gconf = gnome2.GConf; };
@@ -13321,6 +13348,8 @@ in
     inherit (llvmPackages_11) llvm libclang;
   };
 
+  dprint = callPackage ../development/tools/dprint { };
+
   libcxx = llvmPackages.libcxx;
   libcxxabi = llvmPackages.libcxxabi;
 
@@ -13747,6 +13776,8 @@ in
 
   kustomize = callPackage ../development/tools/kustomize { };
 
+  kustomize_3 = callPackage ../development/tools/kustomize/3.nix { };
+
   kustomize-sops = callPackage ../development/tools/kustomize/kustomize-sops.nix { };
 
   ktlint = callPackage ../development/tools/ktlint { };
@@ -14876,6 +14907,8 @@ in
 
   directfb = callPackage ../development/libraries/directfb { };
 
+  discordchatexporter-cli = callPackage ../tools/backup/discordchatexporter-cli { };
+
   discord-rpc = callPackage ../development/libraries/discord-rpc {
     inherit (darwin.apple_sdk.frameworks) AppKit;
   };
@@ -15054,7 +15087,7 @@ in
 
   flyway = callPackage ../development/tools/flyway { };
 
-  inherit (callPackages ../development/libraries/fmt { }) fmt_7;
+  inherit (callPackages ../development/libraries/fmt { }) fmt_7 fmt_8;
 
   fmt = fmt_7;
 
@@ -15146,10 +15179,6 @@ in
   };
 
   gegl = callPackage ../development/libraries/gegl {
-    inherit (darwin.apple_sdk.frameworks) OpenGL;
-  };
-
-  gegl_0_4 = callPackage ../development/libraries/gegl/4.0.nix {
     inherit (darwin.apple_sdk.frameworks) OpenCL;
   };
 
@@ -15352,8 +15381,7 @@ in
   glpk = callPackage ../development/libraries/glpk { };
 
   glsurf = callPackage ../applications/science/math/glsurf {
-    libpng = libpng12;
-    ocamlPackages = ocaml-ng.ocamlPackages_4_01_0;
+    ocamlPackages = ocaml-ng.ocamlPackages_4_05;
   };
 
   glui = callPackage ../development/libraries/glui {};
@@ -16052,6 +16080,8 @@ in
     inherit (ocaml-ng.ocamlPackages) bap ocaml findlib ctypes;
   };
 
+  libbaseencode = callPackage ../development/libraries/libbaseencode { };
+
   libbass = (callPackage ../development/libraries/audio/libbass { }).bass;
   libbass_fx = (callPackage ../development/libraries/audio/libbass { }).bass_fx;
 
@@ -16165,6 +16195,8 @@ in
 
   libctemplate = callPackage ../development/libraries/libctemplate { };
 
+  libcotp = callPackage ../development/libraries/libcotp { };
+
   libcouchbase = callPackage ../development/libraries/libcouchbase { };
 
   libcue = callPackage ../development/libraries/libcue { };
@@ -16525,6 +16557,8 @@ in
 
   liblcf = callPackage ../development/libraries/liblcf { };
 
+  libliftoff = callPackage ../development/libraries/libliftoff { };
+
   liblqr1 = callPackage ../development/libraries/liblqr-1 { };
 
   liblockfile = callPackage ../development/libraries/liblockfile { };
@@ -17821,8 +17855,9 @@ in
     python = python37;
   };
 
-  protobuf = protobuf3_16;
+  protobuf = protobuf3_17;
 
+  protobuf3_17 = callPackage ../development/libraries/protobuf/3.17.nix { };
   protobuf3_16 = callPackage ../development/libraries/protobuf/3.16.nix { };
   protobuf3_15 = callPackage ../development/libraries/protobuf/3.15.nix { };
   protobuf3_14 = callPackage ../development/libraries/protobuf/3.14.nix { };
@@ -17856,6 +17891,8 @@ in
 
   pstreams = callPackage ../development/libraries/pstreams {};
 
+  pufferpanel = callPackage ../servers/pufferpanel { };
+
   pugixml = callPackage ../development/libraries/pugixml { };
 
   pylode = callPackage ../misc/pylode {};
@@ -18093,7 +18130,7 @@ in
 
   rocksdb_lite = rocksdb.override { enableLite = true; };
 
-  rotate-backups = with python3Packages; toPythonApplication rotate-backups;
+  rotate-backups = callPackage ../tools/backup/rotate-backups { };
 
   rote = callPackage ../development/libraries/rote { };
 
@@ -18126,7 +18163,7 @@ in
   };
 
   SDL = callPackage ../development/libraries/SDL ({
-    inherit (darwin.apple_sdk.frameworks) OpenGL CoreAudio CoreServices AudioUnit Kernel Cocoa;
+    inherit (darwin.apple_sdk.frameworks) OpenGL CoreAudio CoreServices AudioUnit Kernel Cocoa GLUT;
   } // lib.optionalAttrs stdenv.hostPlatform.isAndroid {
     # libGLU doesn’t work with Android’s SDL
     libGLU = null;
@@ -20635,6 +20672,8 @@ in
 
   jool-cli = callPackage ../os-specific/linux/jool/cli.nix { };
 
+  juju = callPackage ../applications/networking/juju { };
+
   jujuutils = callPackage ../os-specific/linux/jujuutils { };
 
   kbd = callPackage ../os-specific/linux/kbd { };
@@ -20785,7 +20824,6 @@ in
       kernelPatches.bridge_stp_helper
       kernelPatches.request_key_helper
       kernelPatches.rtl8761b_support
-      kernelPatches.rtnetlink_fix_regression_in_bridge_vlan_configuration
     ];
   };
 
@@ -20800,7 +20838,6 @@ in
     kernelPatches = [
       kernelPatches.bridge_stp_helper
       kernelPatches.request_key_helper
-      kernelPatches.rtnetlink_fix_regression_in_bridge_vlan_configuration
     ];
   };
 
@@ -20808,7 +20845,6 @@ in
     kernelPatches = [
       kernelPatches.bridge_stp_helper
       kernelPatches.request_key_helper
-      kernelPatches.rtnetlink_fix_regression_in_bridge_vlan_configuration
     ];
   };
 
@@ -20934,8 +20970,6 @@ in
 
     dpdk-kmods = callPackage ../os-specific/linux/dpdk-kmods { };
 
-    dpdk = throw "The dpdk driver has been renamed to dpdk-kmods.";
-
     exfat-nofuse = callPackage ../os-specific/linux/exfat { };
 
     evdi = callPackage ../os-specific/linux/evdi { };
@@ -21011,6 +21045,8 @@ in
     rtw88 = callPackage ../os-specific/linux/rtw88 { };
     rtlwifi_new = rtw88;
 
+    rtw89 = callPackage ../os-specific/linux/rtw89 { };
+
     openafs_1_8 = callPackage ../servers/openafs/1.8/module.nix { };
     openafs_1_9 = callPackage ../servers/openafs/1.9/module.nix { };
     # Current stable release; don't backport release updates!
@@ -21022,6 +21058,8 @@ in
 
     jool = callPackage ../os-specific/linux/jool { };
 
+    kvmfr = callPackage ../os-specific/linux/kvmfr { };
+
     mba6x_bl = callPackage ../os-specific/linux/mba6x_bl { };
 
     mwprocapture = callPackage ../os-specific/linux/mwprocapture { };
@@ -21468,6 +21506,10 @@ in
 
   octomap = callPackage ../development/libraries/octomap { };
 
+  odin = callPackage ../development/compilers/odin {
+    llvmPackages = llvmPackages_11;
+  };
+
   odp-dpdk = callPackage ../os-specific/linux/odp-dpdk { };
 
   odroid-xu3-bootloader = callPackage ../tools/misc/odroid-xu3-bootloader { };
@@ -21603,6 +21645,8 @@ in
 
   rtw88-firmware = callPackage ../os-specific/linux/firmware/rtw88-firmware { };
 
+  rtw89-firmware = callPackage ../os-specific/linux/firmware/rtw89-firmware { };
+
   s3ql = callPackage ../tools/backup/s3ql { };
 
   sass = callPackage ../development/tools/sass { };
@@ -22124,6 +22168,7 @@ in
     inherit (plasma5Packages) breeze-icons;
   };
   flat-remix-gtk = callPackage ../data/themes/flat-remix-gtk { };
+  flat-remix-gnome = callPackage ../data/themes/flat-remix-gnome { };
 
   font-awesome_4 = (callPackage ../data/fonts/font-awesome-5 { }).v4;
   font-awesome_5 = (callPackage ../data/fonts/font-awesome-5 { }).v5;
@@ -22515,6 +22560,8 @@ in
 
   redhat-official-fonts = callPackage ../data/fonts/redhat-official { };
 
+  rime-data = callPackage ../data/misc/rime-data { };
+
   route159 = callPackage ../data/fonts/route159 { };
 
   sampradaya = callPackage ../data/fonts/sampradaya { };
@@ -22821,7 +22868,7 @@ in
 
   acd-cli = callPackage ../applications/networking/sync/acd_cli {
     inherit (python3Packages)
-      buildPythonApplication appdirs colorama dateutil
+      buildPythonApplication appdirs colorama python-dateutil
       requests requests_toolbelt setuptools sqlalchemy fusepy;
   };
 
@@ -23303,6 +23350,8 @@ in
 
   communi = libsForQt5.callPackage ../applications/networking/irc/communi { };
 
+  complete-alias = callPackage ../tools/misc/complete-alias { };
+
   confclerk = callPackage ../applications/misc/confclerk { };
 
   copyq = libsForQt514.callPackage ../applications/misc/copyq { };
@@ -23699,6 +23748,8 @@ in
 
   haruna = libsForQt5.callPackage ../applications/video/haruna { };
 
+  helix = callPackage ../applications/editors/helix { };
+
   icesl = callPackage ../applications/misc/icesl { };
 
   keepassx = callPackage ../applications/misc/keepassx { };
@@ -24184,7 +24235,6 @@ in
 
   gimp = callPackage ../applications/graphics/gimp {
     autoreconfHook = buildPackages.autoreconfHook269;
-    gegl = gegl_0_4;
     lcms = lcms2;
     inherit (darwin.apple_sdk.frameworks) AppKit Cocoa;
   };
@@ -24197,7 +24247,6 @@ in
 
   glimpse = callPackage ../applications/graphics/glimpse {
     autoreconfHook = buildPackages.autoreconfHook269;
-    gegl = gegl_0_4;
     lcms = lcms2;
     inherit (darwin.apple_sdk.frameworks) AppKit Cocoa;
   };
@@ -24785,6 +24834,7 @@ in
     lcms2 = null;
     openexr = null;
     libpng = null;
+    liblqr1 = null;
     librsvg = null;
     libtiff = null;
     libxml2 = null;
@@ -24815,6 +24865,7 @@ in
     lcms2 = null;
     openexr = null;
     libpng = null;
+    liblqr1 = null;
     librsvg = null;
     libtiff = null;
     libxml2 = null;
@@ -24884,6 +24935,8 @@ in
 
   irssi_fish = callPackage ../applications/networking/irc/irssi/fish { };
 
+  kirc = callPackage ../applications/networking/irc/kirc { };
+
   ir.lv2 = callPackage ../applications/audio/ir.lv2 { };
 
   istioctl = callPackage ../applications/networking/cluster/istioctl { };
@@ -25110,6 +25163,8 @@ in
 
   kile-wl = callPackage ../applications/misc/kile-wl { };
 
+  kiln = callPackage ../applications/misc/kiln { };
+
   kubernetes-helm = callPackage ../applications/networking/cluster/helm { };
 
   wrapHelm = callPackage ../applications/networking/cluster/helm/wrapper.nix { };
@@ -25440,7 +25495,7 @@ in
     inherit (darwin.apple_sdk.frameworks) ApplicationServices;
   };
 
-  mercurialFull = appendToName "full" (pkgs.mercurial.override { guiSupport = true; });
+  mercurialFull = appendToName "full" (pkgs.mercurial.override { fullBuild = true; });
 
   merkaartor = libsForQt5.callPackage ../applications/misc/merkaartor { };
 
@@ -25752,6 +25807,8 @@ in
 
   nwg-menu = callPackage ../applications/misc/nwg-menu { };
 
+  nwg-panel = callPackage ../applications/misc/nwg-panel { };
+
   ocenaudio = callPackage ../applications/audio/ocenaudio { };
 
   onlyoffice-bin = callPackage ../applications/office/onlyoffice-bin { };
@@ -26026,7 +26083,7 @@ in
   oberon-risc-emu = callPackage ../misc/emulators/oberon-risc-emu { };
 
   obs-studio = libsForQt5.callPackage ../applications/video/obs-studio {};
-  obs-studio-plugins = callPackage ../applications/video/obs-studio/plugins {};
+  obs-studio-plugins = recurseIntoAttrs (callPackage ../applications/video/obs-studio/plugins {});
   wrapOBS = callPackage ../applications/video/obs-studio/wrapper.nix {};
 
   obsidian = callPackage ../applications/misc/obsidian { };
@@ -26234,6 +26291,8 @@ in
 
   pianobooster = qt5.callPackage ../applications/audio/pianobooster { };
 
+  pianoteq = callPackage ../applications/audio/pianoteq { };
+
   picard = callPackage ../applications/audio/picard { };
 
   picocom = callPackage ../tools/misc/picocom {
@@ -26282,6 +26341,8 @@ in
 
   purple-matrix = callPackage ../applications/networking/instant-messengers/pidgin-plugins/purple-matrix { };
 
+  purple-mm-sms = callPackage ../applications/networking/instant-messengers/pidgin-plugins/purple-mm-sms { };
+
   purple-plugin-pack = callPackage ../applications/networking/instant-messengers/pidgin-plugins/purple-plugin-pack { };
 
   purple-slack = callPackage ../applications/networking/instant-messengers/pidgin-plugins/purple-slack { };
@@ -26629,6 +26690,8 @@ in
 
   remotebox = callPackage ../applications/virtualization/remotebox { };
 
+  restique = libsForQt5.callPackage ../applications/backup/restique { };
+
   retroshare = libsForQt5.callPackage ../applications/networking/p2p/retroshare { };
 
   rgp = libsForQt5.callPackage ../development/tools/rgp { };
@@ -27262,6 +27325,10 @@ in
 
   tonelib-gfx = callPackage ../applications/audio/tonelib-gfx { };
 
+  tonelib-jam = callPackage ../applications/audio/tonelib-jam { };
+
+  tonelib-zoom = callPackage ../applications/audio/tonelib-zoom { };
+
   tony = libsForQt514.callPackage ../applications/audio/tony { };
 
   toot = callPackage ../applications/misc/toot { };
@@ -27296,6 +27363,8 @@ in
 
   trayer = callPackage ../applications/window-managers/trayer { };
 
+  tinywl = callPackage ../applications/window-managers/tinywl { };
+
   tinywm = callPackage ../applications/window-managers/tinywm { };
 
   tree-from-tags = callPackage ../applications/audio/tree-from-tags { };
@@ -27461,10 +27530,7 @@ in
   wrapNeovimUnstable = callPackage ../applications/editors/neovim/wrapper.nix { };
   wrapNeovim = neovim-unwrapped: lib.makeOverridable (neovimUtils.legacyWrapper neovim-unwrapped);
   neovim-unwrapped = callPackage ../applications/editors/neovim {
-    lua =
-      # neovim doesn't work with luajit on aarch64: https://github.com/neovim/neovim/issues/7879
-      if stdenv.isAarch64 then lua5_1 else
-      luajit;
+    lua = luajit;
   };
 
   neovimUtils = callPackage ../applications/editors/neovim/utils.nix { };
@@ -28192,7 +28258,7 @@ in
 
   ytmdesktop = callPackage ../applications/audio/ytmdesktop { };
 
-  ytmdl = python3Packages.callPackage ../tools/misc/ytmdl { };
+  ytmdl = callPackage ../tools/misc/ytmdl { };
 
   zam-plugins = callPackage ../applications/audio/zam-plugins { };
 
@@ -28406,6 +28472,8 @@ in
 
   zcash = callPackage ../applications/blockchains/zcash { stdenv = llvmPackages_11.stdenv; };
 
+  lightwalletd = callPackage ../applications/blockchains/lightwalletd { };
+
   openethereum = callPackage ../applications/blockchains/openethereum { };
 
   parity-ui = callPackage ../applications/blockchains/parity-ui { };
@@ -28992,6 +29060,8 @@ in
       static = true;
     };
   };
+  openttd-grfcodec = callPackage ../games/openttd/grfcodec.nix {};
+  openttd-nml = callPackage ../games/openttd/nml.nix {};
 
   opentyrian = callPackage ../games/opentyrian { };
 
@@ -29919,6 +29989,18 @@ in
 
   rubiks = callPackage ../development/libraries/science/math/rubiks { };
 
+  p4est-sc = callPackage ../development/libraries/science/math/p4est-sc {
+    p4est-sc-debugEnable = false;
+  };
+
+  p4est-sc-dbg = callPackage ../development/libraries/science/math/p4est-sc { };
+
+  p4est = callPackage ../development/libraries/science/math/p4est { };
+
+  p4est-dbg = callPackage ../development/libraries/science/math/p4est {
+    p4est-sc = p4est-sc-dbg;
+  };
+
   petsc = callPackage ../development/libraries/science/math/petsc { };
 
   parmetis = callPackage ../development/libraries/science/math/parmetis { };
@@ -30444,7 +30526,7 @@ in
 
   root = callPackage ../applications/science/misc/root {
     python = python3;
-    inherit (darwin.apple_sdk.frameworks) Cocoa OpenGL;
+    inherit (darwin.apple_sdk.frameworks) Cocoa CoreSymbolication OpenGL;
   };
 
   root5 = lowPrio (callPackage ../applications/science/misc/root/5.nix {
@@ -31504,6 +31586,8 @@ in
 
   terranix = callPackage ../applications/networking/cluster/terranix {};
 
+  tfswitch = callPackage ../applications/networking/cluster/tfswitch {};
+
   tilt = callPackage ../applications/networking/cluster/tilt {};
 
   timeular = callPackage ../applications/office/timeular {};
@@ -31559,6 +31643,8 @@ in
 
   urbit = callPackage ../misc/urbit { };
 
+  usb-reset = callPackage ../applications/misc/usb-reset { };
+
   usql = callPackage ../applications/misc/usql { };
 
   utf8cpp = callPackage ../development/libraries/utf8cpp { };
@@ -31577,6 +31663,15 @@ in
 
   vazir-code-font = callPackage ../data/fonts/vazir-code-font { };
 
+  vaultwarden = callPackage ../tools/security/vaultwarden {
+    inherit (darwin.apple_sdk.frameworks) Security CoreServices;
+  };
+  vaultwarden-sqlite = vaultwarden;
+  vaultwarden-mysql = vaultwarden.override { dbBackend = "mysql"; };
+  vaultwarden-postgresql = vaultwarden.override { dbBackend = "postgresql"; };
+
+  vaultwarden-vault = callPackage ../tools/security/vaultwarden/vault.nix { };
+
   vazir-fonts = callPackage ../data/fonts/vazir-fonts { };
 
   vbam = callPackage ../misc/emulators/vbam { };
diff --git a/nixpkgs/pkgs/top-level/coq-packages.nix b/nixpkgs/pkgs/top-level/coq-packages.nix
index fb7e2113018a..6fc0500ed53e 100644
--- a/nixpkgs/pkgs/top-level/coq-packages.nix
+++ b/nixpkgs/pkgs/top-level/coq-packages.nix
@@ -49,6 +49,7 @@ let
       interval = callPackage ../development/coq-modules/interval {};
       InfSeqExt = callPackage ../development/coq-modules/InfSeqExt {};
       iris = callPackage ../development/coq-modules/iris {};
+      itauto = callPackage ../development/coq-modules/itauto { };
       ITree = callPackage ../development/coq-modules/ITree { };
       ltac2 = callPackage ../development/coq-modules/ltac2 {};
       math-classes = callPackage ../development/coq-modules/math-classes { };
@@ -75,6 +76,7 @@ let
       QuickChick = callPackage ../development/coq-modules/QuickChick {};
       reglang = callPackage ../development/coq-modules/reglang {};
       relation-algebra = callPackage ../development/coq-modules/relation-algebra {};
+      semantics = callPackage ../development/coq-modules/semantics {};
       simple-io = callPackage ../development/coq-modules/simple-io { };
       stdpp = callPackage ../development/coq-modules/stdpp { };
       StructTact = callPackage ../development/coq-modules/StructTact {};
diff --git a/nixpkgs/pkgs/top-level/ocaml-packages.nix b/nixpkgs/pkgs/top-level/ocaml-packages.nix
index e040cef15759..1a7c42c8a543 100644
--- a/nixpkgs/pkgs/top-level/ocaml-packages.nix
+++ b/nixpkgs/pkgs/top-level/ocaml-packages.nix
@@ -22,6 +22,8 @@ let
 
     alcotest-lwt = callPackage ../development/ocaml-modules/alcotest/lwt.nix {};
 
+    alcotest-mirage = callPackage ../development/ocaml-modules/alcotest/mirage.nix {};
+
     angstrom = callPackage ../development/ocaml-modules/angstrom { };
 
     angstrom-async = callPackage ../development/ocaml-modules/angstrom-async { };
@@ -118,12 +120,8 @@ let
       then callPackage ../development/ocaml-modules/camomile { }
       else callPackage ../development/ocaml-modules/camomile/0.8.5.nix { };
 
-    camlimages_4_1_2 =
-      if lib.versionOlder "4.02" ocaml.version
-      then null
-      else callPackage ../development/ocaml-modules/camlimages/4.1.2.nix {
-      libpng = pkgs.libpng12;
-    };
+    camlimages_4_2_4 = callPackage ../development/ocaml-modules/camlimages/4.2.4.nix { };
+
     camlimages = callPackage ../development/ocaml-modules/camlimages { };
 
     benchmark = callPackage ../development/ocaml-modules/benchmark { };
@@ -614,6 +612,8 @@ let
       ocaml-migrate-parsetree = ocaml-migrate-parsetree-2;
     };
 
+    lwt-canceler = callPackage ../development/ocaml-modules/lwt-canceler { };
+
     ocaml_lwt = lwt;
 
     lwt_camlp4 = callPackage ../development/ocaml-modules/lwt/camlp4.nix { };
@@ -1155,6 +1155,8 @@ let
 
     rope = callPackage ../development/ocaml-modules/rope { };
 
+    routes = callPackage ../development/ocaml-modules/routes { };
+
     rpclib = callPackage ../development/ocaml-modules/rpclib { };
 
     rpclib-lwt = callPackage ../development/ocaml-modules/rpclib/lwt.nix { };
diff --git a/nixpkgs/pkgs/top-level/php-packages.nix b/nixpkgs/pkgs/top-level/php-packages.nix
index e518ee68f7b8..3ceaf784af3b 100644
--- a/nixpkgs/pkgs/top-level/php-packages.nix
+++ b/nixpkgs/pkgs/top-level/php-packages.nix
@@ -59,6 +59,73 @@ lib.makeScope pkgs.newScope (self: with self; {
     pname = "php-${pname}";
   });
 
+  # Function to build an extension which is shipped as part of the php
+  # source, based on the php version.
+  #
+  # Name passed is the name of the extension and is automatically used
+  # to add the configureFlag "--enable-${name}", which can be overriden.
+  #
+  # Build inputs is used for extra deps that may be needed. And zendExtension
+  # will mark the extension as a zend extension or not.
+  mkExtension =
+    { name
+    , configureFlags ? [ "--enable-${name}" ]
+    , internalDeps ? [ ]
+    , postPhpize ? ""
+    , buildInputs ? [ ]
+    , zendExtension ? false
+    , doCheck ? true
+    , ...
+    }@args: stdenv.mkDerivation ((builtins.removeAttrs args [ "name" ]) // {
+      pname = "php-${name}";
+      extensionName = name;
+
+      inherit (php.unwrapped) version src;
+      sourceRoot = "php-${php.version}/ext/${name}";
+
+      enableParallelBuilding = true;
+      nativeBuildInputs = [ php.unwrapped autoconf pkg-config re2c ];
+      inherit configureFlags internalDeps buildInputs
+        zendExtension doCheck;
+
+      prePatch = "pushd ../..";
+      postPatch = "popd";
+
+      preConfigure = ''
+        nullglobRestore=$(shopt -p nullglob)
+        shopt -u nullglob   # To make ?-globbing work
+
+        # Some extensions have a config0.m4 or config9.m4
+        if [ -f config?.m4 ]; then
+          mv config?.m4 config.m4
+        fi
+
+        $nullglobRestore
+        phpize
+        ${postPhpize}
+        ${lib.concatMapStringsSep "\n"
+          (dep: "mkdir -p ext; ln -s ${dep.dev}/include ext/${dep.extensionName}")
+          internalDeps}
+      '';
+      checkPhase = "runHook preCheck; NO_INTERACTON=yes make test; runHook postCheck";
+      outputs = [ "out" "dev" ];
+      installPhase = ''
+        mkdir -p $out/lib/php/extensions
+        cp modules/${name}.so $out/lib/php/extensions/${name}.so
+        mkdir -p $dev/include
+        ${rsync}/bin/rsync -r --filter="+ */" \
+                              --filter="+ *.h" \
+                              --filter="- *" \
+                              --prune-empty-dirs \
+                              . $dev/include/
+      '';
+
+      meta = {
+        description = "PHP upstream extension: ${name}";
+        inherit (php.meta) maintainers homepage license;
+      };
+    });
+
   php = phpPackage;
 
   # This is a set of interactive tools based on PHP.
@@ -171,72 +238,6 @@ lib.makeScope pkgs.newScope (self: with self; {
     yaml = callPackage ../development/php-packages/yaml { };
   } // (
     let
-      # Function to build a single php extension based on the php version.
-      #
-      # Name passed is the name of the extension and is automatically used
-      # to add the configureFlag "--enable-${name}", which can be overriden.
-      #
-      # Build inputs is used for extra deps that may be needed. And zendExtension
-      # will mark the extension as a zend extension or not.
-      mkExtension =
-        { name
-        , configureFlags ? [ "--enable-${name}" ]
-        , internalDeps ? [ ]
-        , postPhpize ? ""
-        , buildInputs ? [ ]
-        , zendExtension ? false
-        , doCheck ? true
-        , ...
-        }@args: stdenv.mkDerivation ((builtins.removeAttrs args [ "name" ]) // {
-          pname = "php-${name}";
-          extensionName = name;
-
-          inherit (php.unwrapped) version src;
-          sourceRoot = "php-${php.version}/ext/${name}";
-
-          enableParallelBuilding = true;
-          nativeBuildInputs = [ php.unwrapped autoconf pkg-config re2c ];
-          inherit configureFlags internalDeps buildInputs
-            zendExtension doCheck;
-
-          prePatch = "pushd ../..";
-          postPatch = "popd";
-
-          preConfigure = ''
-            nullglobRestore=$(shopt -p nullglob)
-            shopt -u nullglob   # To make ?-globbing work
-
-            # Some extensions have a config0.m4 or config9.m4
-            if [ -f config?.m4 ]; then
-              mv config?.m4 config.m4
-            fi
-
-            $nullglobRestore
-            phpize
-            ${postPhpize}
-            ${lib.concatMapStringsSep "\n"
-              (dep: "mkdir -p ext; ln -s ${dep.dev}/include ext/${dep.extensionName}")
-              internalDeps}
-          '';
-          checkPhase = "runHook preCheck; NO_INTERACTON=yes make test; runHook postCheck";
-          outputs = [ "out" "dev" ];
-          installPhase = ''
-            mkdir -p $out/lib/php/extensions
-            cp modules/${name}.so $out/lib/php/extensions/${name}.so
-            mkdir -p $dev/include
-            ${rsync}/bin/rsync -r --filter="+ */" \
-                                  --filter="+ *.h" \
-                                  --filter="- *" \
-                                  --prune-empty-dirs \
-                                  . $dev/include/
-          '';
-
-          meta = {
-            description = "PHP upstream extension: ${name}";
-            inherit (php.meta) maintainers homepage license;
-          };
-        });
-
       # This list contains build instructions for different modules that one may
       # want to build.
       #
@@ -256,20 +257,6 @@ lib.makeScope pkgs.newScope (self: with self; {
         {
           name = "dom";
           buildInputs = [ libxml2 ];
-          patches = [
-            # https://github.com/php/php-src/pull/7030
-            (fetchpatch {
-              url = "https://github.com/php/php-src/commit/4cc261aa6afca2190b1b74de39c3caa462ec6f0b.patch";
-              sha256 = "11qsdiwj1zmpfc2pgh6nr0sn7qa1nyjg4jwf69cgwnd57qfjcy4k";
-              excludes = [ "ext/dom/tests/bug43364.phpt" "ext/dom/tests/bug80268.phpt" ];
-            })
-          ];
-          # For some reason `patch` fails to remove these files correctly.
-          # Since `postPatch` is already used in `mkExtension`, we have to make it here.
-          preCheck = ''
-            rm tests/bug43364.phpt
-            rm tests/bug80268.phpt
-          '';
           configureFlags = [ "--enable-dom" ]
             # Required to build on darwin.
             ++ lib.optionals (lib.versionOlder php.version "7.4") [ "--with-libxml-dir=${libxml2.dev}" ];
diff --git a/nixpkgs/pkgs/top-level/python-aliases.nix b/nixpkgs/pkgs/top-level/python-aliases.nix
index b796d9ac4427..017d27a8a208 100644
--- a/nixpkgs/pkgs/top-level/python-aliases.nix
+++ b/nixpkgs/pkgs/top-level/python-aliases.nix
@@ -35,7 +35,11 @@ in
 mapAliases ({
   blockdiagcontrib-cisco = throw "blockdiagcontrib-cisco is not compatible with blockdiag 2.0.0 and has been removed."; # Added 2020-11-29
   bugseverywhere = throw "bugseverywhere has been removed: Abandoned by upstream."; # Added 2019-11-27
+  dateutil = python-dateutil; # added 2021-07-03
   detox = throw "detox is no longer maintained, and was broken since may 2019"; # added 2020-07-04
+  dftfit = throw "it's dependency lammps-cython no longer builds";
+  diff_cover = diff-cover; # added 2021-07-02
+  discogs_client = discogs-client; # added 2021-07-02
   dns = dnspython; # Alias for compatibility, 2017-12-10
   faulthandler = throw "faulthandler is built into ${python.executable}";
   gitdb2 = throw "gitdb2 has been deprecated, use gitdb instead."; # added 2020-03-14
@@ -43,6 +47,7 @@ mapAliases ({
   google_api_python_client = google-api-python-client; # added 2021-03-19
   googleapis_common_protos = googleapis-common-protos; # added 2021-03-19
   HAP-python = hap-python; # added 2021-06-01
+  lammps-cython = throw "no longer builds and is unmaintained";
   MechanicalSoup = mechanicalsoup; # added 2021-06-01
   privacyidea = throw "renamed to pkgs.privacyidea"; # added 2021-06-20
   pylibgen = throw "pylibgen is unmaintained upstreamed, and removed from nixpkgs"; # added 2020-06-20
@@ -50,10 +55,13 @@ mapAliases ({
   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
   qasm2image = throw "qasm2image is no longer maintained (since November 2018), and is not compatible with the latest pythonPackages.qiskit versions."; # added 2020-12-09
+  rotate-backups = throw "pythonPackages.rotate-backups was removed in favor of the top-level rotate-backups"; # added 2021-07-01
   selectors34 = throw "selectors34 has been removed: functionality provided by Python itself; archived by upstream."; # Added 2021-06-10
   setuptools_scm = setuptools-scm; # added 2021-06-03
   smart_open = smart-open; # added 2021-03-14
   smmap2 = throw "smmap2 has been deprecated, use smmap instead."; # added 2020-03-14
   topydo = throw "python3Packages.topydo was moved to topydo"; # 2017-09-22
+  tvnamer = throw "python3Packages.tvnamer was moved to tvnamer"; # 2021-07-05
   websocket_client = websocket-client;
+  bt_proximity = bt-proximity; # added 2021-07-02
 })
diff --git a/nixpkgs/pkgs/top-level/python-packages.nix b/nixpkgs/pkgs/top-level/python-packages.nix
index a1c9bf753e43..2450ee309e39 100644
--- a/nixpkgs/pkgs/top-level/python-packages.nix
+++ b/nixpkgs/pkgs/top-level/python-packages.nix
@@ -327,6 +327,8 @@ in {
 
   aiomultiprocess = callPackage ../development/python-modules/aiomultiprocess { };
 
+  aiomusiccast = callPackage ../development/python-modules/aiomusiccast { };
+
   aiomysql = callPackage ../development/python-modules/aiomysql { };
 
   aionotify = callPackage ../development/python-modules/aionotify { };
@@ -1218,9 +1220,11 @@ in {
 
   bsblan = callPackage ../development/python-modules/bsblan { };
 
+  bson = callPackage ../development/python-modules/bson { };
+
   btchip = callPackage ../development/python-modules/btchip { };
 
-  bt_proximity = callPackage ../development/python-modules/bt-proximity { };
+  bt-proximity = callPackage ../development/python-modules/bt-proximity { };
 
   BTrees = callPackage ../development/python-modules/btrees { };
 
@@ -1905,8 +1909,6 @@ in {
 
   devpi-common = callPackage ../development/python-modules/devpi-common { };
 
-  dftfit = callPackage ../development/python-modules/dftfit { };
-
   diagrams = callPackage ../development/python-modules/diagrams { };
 
   diceware = callPackage ../development/python-modules/diceware { };
@@ -1921,7 +1923,7 @@ in {
 
   dicttoxml = callPackage ../development/python-modules/dicttoxml { };
 
-  diff_cover = callPackage ../development/python-modules/diff_cover { };
+  diff-cover = callPackage ../development/python-modules/diff-cover { };
 
   diff-match-patch = callPackage ../development/python-modules/diff-match-patch { };
 
@@ -1939,7 +1941,7 @@ in {
 
   discid = callPackage ../development/python-modules/discid { };
 
-  discogs_client = callPackage ../development/python-modules/discogs_client { };
+  discogs-client = callPackage ../development/python-modules/discogs-client { };
 
   discordpy = callPackage ../development/python-modules/discordpy { };
 
@@ -2245,6 +2247,8 @@ in {
 
   editdistance = callPackage ../development/python-modules/editdistance { };
 
+  editdistance-s = callPackage ../development/python-modules/editdistance-s { };
+
   editorconfig = callPackage ../development/python-modules/editorconfig { };
 
   edward = callPackage ../development/python-modules/edward { };
@@ -2309,6 +2313,8 @@ in {
 
   enum-compat = callPackage ../development/python-modules/enum-compat { };
 
+  env-canada = callPackage ../development/python-modules/env-canada { };
+
   envisage = callPackage ../development/python-modules/envisage { };
 
   envs = callPackage ../development/python-modules/envs { };
@@ -2864,6 +2870,8 @@ in {
 
   ghp-import = callPackage ../development/python-modules/ghp-import { };
 
+  gibberish-detector = callPackage ../development/python-modules/gibberish-detector { };
+
   gidgethub = callPackage ../development/python-modules/gidgethub { };
 
   gin-config = callPackage ../development/python-modules/gin-config { };
@@ -3260,6 +3268,8 @@ in {
 
   hijri-converter = callPackage ../development/python-modules/hijri-converter { };
 
+  hikvision = callPackage ../development/python-modules/hikvision { };
+
   hiredis = callPackage ../development/python-modules/hiredis { };
 
   hiro = callPackage ../development/python-modules/hiro { };
@@ -3910,8 +3920,6 @@ in {
 
   labmath = callPackage ../development/python-modules/labmath { };
 
-  lammps-cython = callPackage ../development/python-modules/lammps-cython { };
-
   langcodes = callPackage ../development/python-modules/langcodes { };
 
   langdetect = callPackage ../development/python-modules/langdetect { };
@@ -5231,6 +5239,10 @@ in {
 
   phonenumbers = callPackage ../development/python-modules/phonenumbers { };
 
+  micloud = callPackage ../development/python-modules/micloud { };
+
+  netmap = callPackage ../development/python-modules/netmap { };
+
   openapi-core = callPackage ../development/python-modules/openapi-core { };
 
   pdunehd = callPackage ../development/python-modules/pdunehd { };
@@ -5321,6 +5333,8 @@ in {
 
   pyflick = callPackage ../development/python-modules/pyflick { };
 
+  pyfreedompro = callPackage ../development/python-modules/pyfreedompro { };
+
   pygti = callPackage ../development/python-modules/pygti { };
 
   pyheos = callPackage ../development/python-modules/pyheos { };
@@ -5341,6 +5355,10 @@ in {
 
   pynx584 = callPackage ../development/python-modules/pynx584 { };
 
+  pypoint = callPackage ../development/python-modules/pypoint { };
+
+  pyrfxtrx = callPackage ../development/python-modules/pyrfxtrx { };
+
   pyrogram = callPackage ../development/python-modules/pyrogram { };
 
   pysbd = callPackage ../development/python-modules/pysbd { };
@@ -5359,6 +5377,8 @@ in {
 
   python-ecobee-api = callPackage ../development/python-modules/python-ecobee-api { };
 
+  python-ipmi = callPackage ../development/python-modules/python-ipmi { };
+
   python-izone = callPackage ../development/python-modules/python-izone { };
 
   python-juicenet = callPackage ../development/python-modules/python-juicenet { };
@@ -5367,6 +5387,8 @@ in {
 
   python-openzwave-mqtt = callPackage ../development/python-modules/python-openzwave-mqtt { };
 
+  python-songpal = callPackage ../development/python-modules/python-songpal { };
+
   python-tado = callPackage ../development/python-modules/python-tado { };
 
   pkutils = callPackage ../development/python-modules/pkutils { };
@@ -6905,8 +6927,6 @@ in {
   python-daemon = callPackage ../development/python-modules/python-daemon { };
 
   python-dateutil = callPackage ../development/python-modules/dateutil { };
-  # Alias that we should deprecate
-  dateutil = self.python-dateutil;
 
   python-dbusmock = callPackage ../development/python-modules/python-dbusmock { };
 
@@ -6982,6 +7002,10 @@ in {
 
   python-louvain = callPackage ../development/python-modules/python-louvain { };
 
+  python-lsp-jsonrpc = callPackage ../development/python-modules/python-lsp-jsonrpc { };
+
+  python-lsp-server = callPackage ../development/python-modules/python-lsp-server { };
+
   python-ly = callPackage ../development/python-modules/python-ly { };
 
   python-lz4 = callPackage ../development/python-modules/python-lz4 { };
@@ -7045,8 +7069,12 @@ in {
 
   python-picnic-api = callPackage ../development/python-modules/python-picnic-api { };
 
+  python-pidfile = callPackage ../development/python-modules/python-pidfile { };
+
   python-pipedrive = callPackage ../development/python-modules/python-pipedrive { };
 
+  python-pkcs11 = callPackage ../development/python-modules/python-pkcs11 { };
+
   python-prctl = callPackage ../development/python-modules/python-prctl { };
 
   python-ptrace = callPackage ../development/python-modules/python-ptrace { };
@@ -7608,8 +7636,6 @@ in {
 
   ropper = callPackage ../development/python-modules/ropper { };
 
-  rotate-backups = callPackage ../tools/backup/rotate-backups { };
-
   routes = callPackage ../development/python-modules/routes { };
 
   rpdb = callPackage ../development/python-modules/rpdb { };
@@ -7984,8 +8010,12 @@ in {
 
   sly = callPackage ../development/python-modules/sly { };
 
+  smart-meter-texas = callPackage ../development/python-modules/smart-meter-texas { };
+
   smart-open = callPackage ../development/python-modules/smart-open { };
 
+  smarthab = callPackage ../development/python-modules/smarthab { };
+
   smartypants = callPackage ../development/python-modules/smartypants { };
 
   smbprotocol = callPackage ../development/python-modules/smbprotocol { };
@@ -8056,6 +8086,10 @@ in {
 
   somecomfort = callPackage ../development/python-modules/somecomfort { };
 
+  somfy-mylink-synergy = callPackage ../development/python-modules/somfy-mylink-synergy { };
+
+  sonarr = callPackage ../development/python-modules/sonarr { };
+
   sopel = callPackage ../development/python-modules/sopel { };
 
   sorl_thumbnail = callPackage ../development/python-modules/sorl_thumbnail { };
@@ -8711,8 +8745,6 @@ in {
 
   tvdb_api = callPackage ../development/python-modules/tvdb_api { };
 
-  tvnamer = callPackage ../development/python-modules/tvnamer { };
-
   tweedledum = callPackage ../development/python-modules/tweedledum { };
 
   tweepy = callPackage ../development/python-modules/tweepy { };
@@ -8779,6 +8811,10 @@ in {
 
   typer = callPackage ../development/python-modules/typer { };
 
+  types-decorator = callPackage ../development/python-modules/types-decorator { };
+
+  types-requests = callPackage ../development/python-modules/types-requests { };
+
   typesentry = callPackage ../development/python-modules/typesentry { };
 
   typesystem = callPackage ../development/python-modules/typesystem { };
diff --git a/nixpkgs/pkgs/top-level/python2-packages.nix b/nixpkgs/pkgs/top-level/python2-packages.nix
index 32d9872b51ad..471548b9fa20 100644
--- a/nixpkgs/pkgs/top-level/python2-packages.nix
+++ b/nixpkgs/pkgs/top-level/python2-packages.nix
@@ -46,6 +46,8 @@ with self; with super; {
 
   cdecimal = callPackage ../development/python-modules/cdecimal { };
 
+  certifi = callPackage ../development/python-modules/certifi/python2.nix { };
+
   chardet = callPackage ../development/python-modules/chardet/2.nix { };
 
   cheetah = callPackage ../development/python-modules/cheetah { };